ndiezel 0 Опубликовано: 8 апреля 2015 Рассказать Опубликовано: 8 апреля 2015 День добрый. Можно ли как-то на ДЛЕ устроить навигацию между новостями? Т.е. просматриваю я новость и внизу - стрелочки: "Следующая новость" и "Предыдущая новость". И чтоб ссылки вели, соответственно, на следующую и предыдущую новости. Как на любом слайдере, только не листать, а переходить. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 074 Опубликовано: 9 апреля 2015 Рассказать Опубликовано: 9 апреля 2015 В стандартном скрипте такой возможности нет. Цитата Ссылка на сообщение Поделиться на других сайтах
RedRoll 67 Опубликовано: 9 апреля 2015 Рассказать Опубликовано: 9 апреля 2015 if (($link == 'next') or ($link == 'back')) { include ('engine/api/api.class.php'); $data = $dle_api->take_news ( $cat, 'id,alt_name', 0, 0, 'date', 'ASC' ); foreach ($data as $key=>$temp) { $search = array_search($id, $temp); if ($search == true) { break; } } if ($link == 'next') $key = $key + 1; else $key = $key - 1; if ($data[$key]['id'] != '') echo "/" . $cat_info[$cat]['alt_name'] . "/" . $data[$key]['id'] . "-" . $data[$key]['alt_name'] . ".html"; else echo "#"; }; инклудим в fullstory.tpl примерно так: <a href="{include file="engine/modules/myphp.php?link=next&cat=2&id={news-id}"}" class="next"></a> <a href="{include file="engine/modules/myphp.php?link=back&cat=2&id={news-id}"}" class="back"></a> &cat - id необходимой категории(ий) Цитата Ссылка на сообщение Поделиться на других сайтах
Mek 99 Опубликовано: 9 апреля 2015 Рассказать Опубликовано: 9 апреля 2015 RedRoll, чёто не работает ваш вариант. Цитата Ссылка на сообщение Поделиться на других сайтах
Datagor 31 Опубликовано: 10 апреля 2015 Рассказать Опубликовано: 10 апреля 2015 Ссылки в шаблон, а код куда вставляем? Цитата Ссылка на сообщение Поделиться на других сайтах
RedRoll 67 Опубликовано: 12 апреля 2015 Рассказать Опубликовано: 12 апреля 2015 (изменено) RedRoll, чёто не работает ваш вариант. все работает, в т.ч. и на 10.4 код с нашего сайта, пример тут - http://redroll.ru/portfolio/75-valeolog-tmru.html Ссылки в шаблон, а код куда вставляем? создаем свой php - engine/modules/myphp.php Изменено 12 апреля 2015 пользователем RedRoll Цитата Ссылка на сообщение Поделиться на других сайтах
ndiezel 0 Опубликовано: 17 апреля 2015 Рассказать Опубликовано: 17 апреля 2015 Автор if (($link == 'next') or ($link == 'back')) { include ('engine/api/api.class.php'); $data = $dle_api->take_news ( $cat, 'id,alt_name', 0, 0, 'date', 'ASC' ); foreach ($data as $key=>$temp) { $search = array_search($id, $temp); if ($search == true) { break; } } if ($link == 'next') $key = $key + 1; else $key = $key - 1; if ($data[$key]['id'] != '') echo "/" . $cat_info[$cat]['alt_name'] . "/" . $data[$key]['id'] . "-" . $data[$key]['alt_name'] . ".html"; else echo "#"; }; инклудим в fullstory.tpl примерно так: [/code] &cat - id необходимой категории(ий) Или не находит следующую (выдаёт #) или вообще ничего не выдаёт. Бывало пару раз что показывал модуль ссылку на следующую новость, но сейчас и это перестало делать. Код в main.tpl: [code] [category=3]{include file='engine/modules/nextprev.php?link=next&cat=3&id={news-id}'}[/category] [category=4]{include file='engine/modules/nextprev.php?link=next&cat=4&id={news-id}'}[/category] [/code] Код модуля: [code] <?php if (($link == 'next') or ( $link == 'back')) { include ('engine/api/api.class.php'); $data = $dle_api->take_news($cat, 'id,alt_name', 0, 0, 'date', 'ASC'); foreach ($data as $key => $temp) { $search = array_search($id, $temp); if ($search == true) { break; } } if ($link == 'next') $key = $key + 1; else $key = $key - 1; if ($data[$key]['id'] != '') echo "/" . $cat_info[$cat]['alt_name'] . "/" . $data[$key]['id'] . "-" . $data[$key]['alt_name'] . ".html"; else echo "#"; }; ?> [/code] Цитата Ссылка на сообщение Поделиться на других сайтах
Mek 99 Опубликовано: 17 апреля 2015 Рассказать Опубликовано: 17 апреля 2015 nDiezel, я сделал следующим образом (на 10.4 работает): Создаём в engine/modules/ файл myphp.php с кодом: Если у вас тип ЧПУ-1 то: <?php if (($link == 'next') or ($link == 'back')) { include ('engine/api/api.class.php'); $data = $dle_api->take_news ( $cat, 'id,alt_name', 0, 0, 'date', 'ASC' ); foreach ($data as $key=>$temp) { $search = array_search($id, $temp); if ($search == true) { break; } } if ($link == 'next') $key = $key + 1; else $key = $key - 1; if ($data[$key]['id'] != '') echo "/" . $data[$key]['id'] . "-" . $data[$key]['alt_name'] . ".html"; else echo "#"; }; ?> Если у вас тип ЧПУ-2 то: <?php if (($link == 'next') or ($link == 'back')) { include ('engine/api/api.class.php'); $data = $dle_api->take_news ( $cat, 'id,alt_name', 0, 0, 'date', 'ASC' ); foreach ($data as $key=>$temp) { $search = array_search($id, $temp); if ($search == true) { break; } } if ($link == 'next') $key = $key + 1; else $key = $key - 1; if ($data[$key]['id'] != '') echo "/" . $cat_info[$cat]['alt_name'] . "/" . $data[$key]['id'] . "-" . $data[$key]['alt_name'] . ".html"; else echo "#"; }; ?> Далее в шаблон полной новости вставляем: [catlist=14] <a href="{include file="engine/modules/myphp.php?link=next&cat=14&id={news-id}"}">Предыдущая</a> <a href="{include file="engine/modules/myphp.php?link=back&cat=14&id={news-id}"}">Следующая</a> [/catlist] Меняем ID категории (в моём случаи это 14) на свой. Всё работает. Цитата Ссылка на сообщение Поделиться на других сайтах
RedRoll 67 Опубликовано: 18 апреля 2015 Рассказать Опубликовано: 18 апреля 2015 (изменено) Или не находит следующую (выдаёт #) или вообще ничего не выдаёт. Бывало пару раз что показывал модуль ссылку на следующую новость, но сейчас и это перестало делать. Код в main.tpl: ну правильно, что не работает. я написал где подключаем? причем здесь main.tpl ? тега {news-id} в main.tpl вообще нет ваша беда - в вашей невнимательности более того - работает со всеми видами чпу и с любой вложенностью категорий. единственное адрес будет не совсем правильный в этих случаях, но новость выведется. там чуть подкрутить надо, но это уже сами. Изменено 18 апреля 2015 пользователем RedRoll Цитата Ссылка на сообщение Поделиться на других сайтах
ndiezel 0 Опубликовано: 18 апреля 2015 Рассказать Опубликовано: 18 апреля 2015 Автор Или не находит следующую (выдаёт #) или вообще ничего не выдаёт. Бывало пару раз что показывал модуль ссылку на следующую новость, но сейчас и это перестало делать. Код в main.tpl: ну правильно, что не работает. я написал где подключаем? причем здесь main.tpl ? тега {news-id} в main.tpl вообще нет ваша беда - в вашей невнимательности более того - работает со всеми видами чпу и с любой вложенностью категорий. единственное адрес будет не совсем правильный в этих случаях, но новость выведется. там чуть подкрутить надо, но это уже сами. Да, спасибо Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.