Форум русской поддержки Joomla!® CMS
09.12.2016, 15:40:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Какой функцией можно получить разделитель readmore? (oncontent prepare его уже нет)?

 (Прочитано 170 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Karyuudo
Давно я тут
****

Репутация: +0/-0
Offline Offline

Сообщений: 352


« : 29.03.2016, 17:44:18 »

Код:
function onContentPrepare($context, $row, &$params, $page = 0) {
$row->text
выводит текст, не обработанный другими плагинами.

но как получить сырой HTML есть разделитель Hr между интро и фултекстом?
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3593


« Ответ #1 : 29.03.2016, 17:52:17 »

Можно перевод?
Записан
Karyuudo
Давно я тут
****

Репутация: +0/-0
Offline Offline

Сообщений: 352


« Ответ #2 : 29.03.2016, 18:12:31 »

Можно перевод?
в редакторе JCE, да и обычном есть кнопка readmore, нажимаешь - там черта появляется разделительная, между introtext и fulltext
вот после этой черты, т.е. после introtext либо перед fulltext нужно добавить блок.

но как его добавить?
для обработки текста используется oncontent prepare.
но там нет никаких интро и фултекстов и полосы
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3593


« Ответ #3 : 29.03.2016, 19:32:41 »

Что-то вроде этого:
Код
$row->text=str_replace('<hr/>','<new_block/><hr/>',$row->text);
Записан
Karyuudo
Давно я тут
****

Репутация: +0/-0
Offline Offline

Сообщений: 352


« Ответ #4 : 29.03.2016, 19:58:02 »

Что-то вроде этого:
Код
$row->text=str_replace('<hr/>','<new_block/><hr/>',$row->text);
Цитировать
для обработки текста используется oncontent prepare.
но там нет никаких интро и фултекстов и полосы
а раз там нет полосы. то и не происходит никаких замен
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3593


« Ответ #5 : 29.03.2016, 21:30:02 »

Тогда
Код
$row->text=str_replace($row->introtext,$row->introtext.'<new_block/>',$row->text);
 
Почему обязательно $row->text? Можно было сделать
Код
print_r($row);
и посмотреть, что там есть.
Записан
Wertos
Завсегдатай
*****

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 543


« Ответ #6 : 29.03.2016, 22:01:59 »

Дак парсинг этой полосы ещё до захода в БД делается на уровне плагина. После того как нажал "сохранить", <hr> исчезает навсегда !

Karyuudo, чтобы разместить блок между анонсом и полным текстом материала, нужно в шаблоне, где идёт вывод
Код
echo $row->text;
заменить на
Код
echo $row->introtext;
твой блок
echo $row->fulltext;
 
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet