Подскажите, есть ли какой модуль-блок для вывода случайных фраз. типа анекдотов, афоризмов и тп... То есть нужно чтобы подключался текстовый файлик и из него при каждом новом обновлении страницы выбиралось бы случайное выражение и отображалось в блоке. Это вообще трудно сделать?
Комментарии
Формат ввода php
<?php
$fcontents1 = join ('', file ('text/tips.txt'));
$s_con1 = split("~",$fcontents1);
$banner_no1 = rand(0,(count($s_con1)-1));
echo $s_con1[$banner_no1];
?>
в файл tips.txt прописываем
~
Совет 2 <a href="d" title="d"></a>
~
Совет <em>3</em>
Т.е. в этом файле просто "куски" кода для вставки в нужное место, разделены "куски" символом ~
Модулькак раз рандомом выводит фразы, цитаты, изображения в блок
Если текста не очень много, можно вставить в блок сниппет Для 6 версии тоже работает.
Большое спасибо за помощь, буду пробовать
Shedko, а куда tips.txt заливать? Залил в корень, ничего не показывает.
С Quotes тоже пока не разобрался куда там фразы вставлять
В коде указано:
<?phpfile ('text/tips.txt'));?>
. Замените на<?phpfile ('tips.txt'));?>
, чтобы файл искался в корне сайта.я уже догадался, спасибо, юзаю этот скрипт - это именно то, что мне было нужно
Извините, что вмешиваюсь.. Я по поиску нашла. Нужно сделать такую же фигню на сайт - случайный совет в сайдбаре или внизу.
у меня вопрос - они именно в текстовый файлик должны набиваться или отдельную ноду под каждый совет создавать?
Поставленную задачу можно решить и так:
1 - создаем тип материала "совет"
2 - на базе этого типа материала делаем ноды, каждая нода это один совет
3 - делаем views который в блоке выводит одну ноду из типа материала "совет" (Use pager: No; Items to display: 1)
4 - в критериях сортировки (Sort criteria)выставлем Global: Random
Если текст каждой ноды будет длинным - скажем, не менее 500 символов, а лучше не менее 1000, то с т.з. сео можно и ноды сделать для них.
спасибо большое, даже мне понятно.
В чем и нюанс, некоторые явно будут меньше 500, я бы даже сказала в районе 200-300 символов. А если без нод - тогда как? Но, правда, с т.зр. сео они мне как бы не особо нужны, это чисто для пользователей. И вот еще вопрос, если пользователи захотят увидеть остальные советы - все сразу - это раздел отдельный делать, где все ноды лежат что ли? или это все же должен быть один текстовой большой файл?
Тогда первый коммент.
спасибо! ясно теперь. придется осваивать php
я так-то в целом поняла, что сделать. только можно еще совсем глупый вопрос? А ГДЕ лежит этот кусок кода, куда нужно вставлять 'text/tips.txt'?
(боже мой, что я пишу - я еще недавно как комп-то включать не знала
Вообще-то наверно ноды попроще будет, там еще можно и картинку засунуть для красоты и привлечения внимания.
Этот кусок кода не лежит нигде - это инструкция take&use.
Первую часть кода ставите в блок, настраиваете отображение блока, из второй части делаете txt-файл, обзываете его tips.txt и кладете в папку text/. Выводите блок где надо, и он показывает по одной записи из второго файла (записи разделены знаком "~").
все, поняла. спасибо!!
если советы сделаете нодами то все их вместе можно очень просто собрать вьсом (display = page) и ссылку на эту page поместить в меню. А под случайной фразой в блоке можно поставить ссылку "Все советы", которая тоже будет вести на эту страницу
можно создать тип материала с текстовым полем "Советы" со множественными значениями, создать ноду этого типа и хранить все советы в ней,
потом так же выводить их вьюсом в случайном порядке
одну ноду, имхо, удобнее админить будет
У вас получилось выводить вьсом случайным образом значения мультиполя?
расскажите пожалуйста как.
Добавляем:
тип представления - материал,
без аргументов, фильтр - Материал: Nid, Равно: id нашей ноды
(можно передавать nid в качестве аргумента, если будет несколько однотипных нод - "Советы", "Цитаты", "Анекдоты" и т.п., чтобы не плодить представления)
Стиль строки: Поля
в поля соответственно добавляем требуемое поле - Содержимое: Заголовок (машинное_имя_поля)
отключаем "Группировать множественные значения"
Критерий сортировки - Глобальный: Случайно
Использовать навигатор: Отображать указанное количество элементов
сортировку и навигатор лучше настроить по отдельности для разных отображений: в блоке несколько первых, отсортированных в случайном порядке, а на странице ("Все советы" или что-то в этом роде) - как-нибудь по-другому
Вместо отображения "страница" можно использовать страницу самой ноды, но придется переопределять её шаблон - как минимум, настраивать пагинацию
представлением проще и нагляднее
Спасибо, я буду пытаться! Я правда пока выясняю и изучаю что такое views вообще в целом
спасибо!
А можно еще спросить? я поставила модель Quotes, все получилось. Но когда я сделала вывод случайных советов блоком в сайдбар, то это блок оказался в 2 раза шире сайдбара, и сжал содержимое соответственно в 2 раза. Я сейчас убрала его вниз, в содержимое, но чего-то не нравится.
http://my-doma.ru/
(в самом низу Случайный совет)
Это можно исправить или мне надо просто привыкать к тому, что они внизу будут?
честно говоря, не знаком с quotes, судя по описанию - он реализует выборку из множества нод
верните блок обратно в сайдбар - я гляну, в чем там дело
там свой тип материалов по умолчанию quotes
последнее сейчас прямо еще актуально? а то не хочу, чтобы сайт кривой стоял - если сейчас вы в сети, переключу
написал в личку, а то тут скоро чат будет
в семёрке "Deprecated function: Function split() is deprecated" в строке 3 файла php.module
даже не столько в семёрке, сколько в пхп 5.3.0
подскажите как правильно написать ?
я поменял split на preg_split и вылезло "Warning: preg_split() [function.preg-split]: No ending delimiter '~' found в функции eval() " и перестало выводиться )
gerol,
Изменений минимум:
<?php$s_con1 = split("~",$fcontents1);?>
меняем на
<?php$s_con1 = explode("~",$fcontents1);?>
все.
Вот спасибо ))
Еще такой вопросец... Существует ли модернизация данного кода, такая чтобы не было повторов совсем или подряд?
ЗЫ: Уж больно он мило встал на вордпрессе, что не хочется новое гуглить, спасибо