Предыдущая и следующая публикации для InstantCMS 2+

1345
Всем доброго времени суток!!!
Для одного проекта необходимо было сделать переход к следующей и предыдущей публикации.
Сделал доработку в виде дополнительного поля.


В настройках можно указать учитывать категории (тоесть публикации в рамках категории в которой находится публикация) или все публикации,
ссылки закольцованы
если публикация последняя то следующая будет первая и если первая то предыдущая будет последней.
утсановка простая, содержимое залить в корень сайта.
чтобы поле стало видимым нужно пересохранить публикации, можно вручную а можно и запросом в базу, пример для статей
Код PHP:
  1. UPDATE `cms_con_articles` SET `название поля`=1;
Скачать файл

Посмотреть как работает

Спасибо можете сказать на ЯД 410011642848003.
Всем спасибо!!!
Кнопка вверх-вниз для InstantCMS2+
Комментарии (12)
Soul 18 апреля 2015 в 15:52 +2
Оффтоп
Олег 18 апреля 2015 в 16:15 +2
Спасибо!!!
Николай (asd43) 18 апреля 2015 в 17:45 0
Спасибо за решение, как раз в этом появилась необходимость, один вопрос сложно ли реализовать и вывод картинки превью новости? Возможно у вас будет немного свободного времени и вы реализуете подобный функционал
Олег 18 апреля 2015 в 17:51 +2
Вывести не сложно
добавлю в настройки поле название для изображения и по нему выводить
Николай (asd43) 18 апреля 2015 в 22:02 0
Спасибо, вот есть пример простой под статей http://vp43.ru/news/10657
Romanovcmc 18 апреля 2015 в 19:37 0
Было же такое решение вроде. При чем название статьи выводил, вроде так получше для сео.
Олег 18 апреля 2015 в 19:49 +1
возможно, не встречал,
выводить можно что угодно, и название и описание и картинки ,
я предоставил код а модификации делать можно любые, инфа о предыдущей и следующей публикации лежит в коде вся, просто вывести нужную и всё.
для меня нужно было просто предыдущая и следующая. Нужно было связать в кольцо все публикации ссылками.
andrey1402 18 апреля 2015 в 19:55 +1
Поле "Перелинковка". Надеюсь у вас получится лучше smile
Олег 18 апреля 2015 в 20:15 +2
интересное решение, раньше почему то не встречал.
планируется на будущее сделать компонентом перелинковку страниц, с расшириными настройками (для одной ссылки несколько анкоров, количество ссылок на странице, выбирать для каких типов контента, и изменения перезаписывать в базе текст контента)
если есть идеи и предложения пишите, обсудим.
Олег 18 апреля 2015 в 22:29 +2
И так опишу в кратце чтоб все могли попробывать сделать под себя вид (так как каждому нужно своё)
в файле system\fields\nextcon.php строка примерно с 77 по 81 идёт вывод на экран
Код PHP:
  1. $html.='<div style="width:100%; overflow: hidden;">
  2.  
  3. <a href="/'.$ctype_name.'/'.$previd['slug'].'.html" style="color: #9F171D; font-size:16px;">Предыдущая публикация</a> |
  4. <a href="/'.$ctype_name.'/'.$nextid['slug'].'.html" style="color: #9F171D; font-size:16px;">Следующая публикация</a>
  5. </div >';
переменые $previd и $nextid содержат в себе всю информацию о публикации предыдущей и следующей соответствено
и делаем нужный вывод
например для вывода названия публикации $previd['title']
Код PHP:
  1.  
  2. $html.='<div style="width:100%; overflow: hidden;">
  3.  
  4. <a href="/'.$ctype_name.'/'.$previd['slug'].'.html" style="color: #9F171D; font-size:16px;">'.$previd['title'].'</a> |
  5. <a href="/'.$ctype_name.'/'.$nextid['slug'].'.html" style="color: #9F171D; font-size:16px;">'.$nextid['title'].'</a>
  6. </div >';
  7.  
ermakover 17 мая 2015 в 07:25 0
"В настройках можно указать учитывать категории (тоесть публикации в рамках категории в которой находится публикация) или все публикации"

А где находятся эти настройки???
Radu 21 января 2017 в 16:57 +1
Ни первый ни второй вариант реализации перелинковки не работает, после установления поля полные новость открываются с ошибкой. Дело в обновлении движка? ... думаю не только мне пригодился бы подобный функционал.