Здравствуйте,
подскажите, как можно выводить ссылку на случайную страницу с сайта или случайную страницу из указанного раздела?
К примеру есть раздел "Фрукты", в нем страница "Апельсин",
внизу страницы надо вывести "читайте также: "(линк на)Мандарин", "(линк на)Яблоко"
0
Похожие страницы
Автор
blacktop
, 20.05.2009, 05:20
Сообщений в теме: 6
#1
Отправлено 20.05.2009, 05:20
#2
Отправлено 25.05.2009, 05:49
все еще актуально
#3
Отправлено 25.05.2009, 10:38
blacktop (20.5.2009, 9:20) писал:
Здравствуйте,
подскажите, как можно выводить ссылку на случайную страницу с сайта или случайную страницу из указанного раздела?
К примеру есть раздел "Фрукты", в нем страница "Апельсин",
внизу страницы надо вывести "читайте также: "(линк на)Мандарин", "(линк на)Яблоко"
подскажите, как можно выводить ссылку на случайную страницу с сайта или случайную страницу из указанного раздела?
К примеру есть раздел "Фрукты", в нем страница "Апельсин",
внизу страницы надо вывести "читайте также: "(линк на)Мандарин", "(линк на)Яблоко"
<?php $page = null; $pages = array_values(zengine::zsource()->getAllPages('/')); while (count($pages)) { $i = array_rand($pages); $page = zpage::load($pages[$i]); if (!$page || $page->getProperty('publish') > ZENGINE_NOW) { unset($pages[$i]); $page = null; } else { break; } } if ($page) { echo '<a href="' . $page->getLink() . '">' . htmlspecialchars($page->getTitle()) . '</a>'; } ?>Скрипт получает список страниц на сайте, выбирает случайную страницу, дата публикации которой уже наступила и выводит ссылку на страницу.
Его можно либо добавить сразу в шаблон, либо создать свою функцию для вывода ссылки, либо свой виджет.
В качестве аргумента функция getAllPages() принимает путь страницы дочерние страницы которой будут выбираться, поэтому вместо слеша можно указать путь к разделу, например /news :
... $pages = array_values(zengine::zsource()->getAllPages('/news')); ...
#4
Отправлено 25.05.2009, 10:50
Спасибо, код работает.
#5
Отправлено 29.05.2009, 02:44
А куда можно вставить вышеуказанный код, чтобы получить "похожие страницы" на этапе парсинга файла pages.txt?
Опять же забота о производительности системы, чтобы не работать со скриптом каждый раз а получать статическую ссылку непосредственно в ходе парсинга.
Опять же забота о производительности системы, чтобы не работать со скриптом каждый раз а получать статическую ссылку непосредственно в ходе парсинга.
#6
Отправлено 29.05.2009, 05:32
blacktop (29.5.2009, 6:44) писал:
А куда можно вставить вышеуказанный код, чтобы получить "похожие страницы" на этапе парсинга файла pages.txt?
Опять же забота о производительности системы, чтобы не работать со скриптом каждый раз а получать статическую ссылку непосредственно в ходе парсинга.
Опять же забота о производительности системы, чтобы не работать со скриптом каждый раз а получать статическую ссылку непосредственно в ходе парсинга.
#7
Отправлено 29.05.2009, 11:28
Спасибо.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 скрытых пользователей