Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 1105 Просмотров
*

goga_pgasovav

  • Захожу иногда
  • 444
  • 6 / 0
  • Внимательный джумловод
Всем привет!
Стало интересно, каким образом система разбивает текст статьи на introtext и fulltext. Т.е. в каком PHP-файле это происходит?
И самое главное: можно ли подобное реализовать с дополнительным текстовым полем (custom field)?

Я создал такое поле, в редакторе имеется кнопка "Подробнее", которая вставляет в код <hr id="system-readmore" />. Всё сохраняется, как и положено. Но выводится сразу весь текст (что не удивительно), просто разделённый чертой.

Заранее спасибо за наводки всем знатокам  ::)
« Последнее редактирование: 02.11.2020, 19:04:13 от goga_pgasovav »
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: System-readmore (Подробнее) и парсинг кода
« Ответ #1 : 02.11.2020, 18:43:08 »
здра.
сам механизм разделения просто реализовать стандартной функцией
https://www.php.net/manual/ru/function.explode.php

вопрос больше про то, что именно должно происходить по нажатию на Подробнее.
в случае доп поля на ум приходит только показ остального текста посредством js, т.к. механизма перехода куда-либо не предусмотрено (ведь с случае со статьей, происходит переход из блога категории непосредственно к статье).
хотя если нужен именно переход, то можно, допустим, переходить на эту же страниу, добавляя параметр в url и исходя из него казать уже весь текст.

в случае если надо просто показать вторую часть текста без перезагрузки, можно взять любой плагин спойлера и получится ровно то же, только надо будет не разделитель вставлять, а обрамлять второй кусок текста синтаксисом плагина

*

goga_pgasovav

  • Захожу иногда
  • 444
  • 6 / 0
  • Внимательный джумловод
Re: System-readmore (Подробнее) и парсинг кода
« Ответ #2 : 02.11.2020, 18:48:13 »
effrit, большое спасибо за explode()! Мои познания в РНР не так широки, как хотелось бы. Думаю дальше сам смогу.
Никакого нажатия на "Подробнее", как такового нет. Просто в блоге категории выводится introtext, а при переходе на страницу материала fulltext.
То же самое хочу сделать и с доп.полем: в блоге выводить то, что до разделителя, а на странице материала — то, что после.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
*

goga_pgasovav

  • Захожу иногда
  • 444
  • 6 / 0
  • Внимательный джумловод
Re: System-readmore (Подробнее) и парсинг кода
« Ответ #4 : 02.11.2020, 19:03:55 »
Великолепно! А думал, что буду несколько часов копать )))
Получилось примерно так:
Код
<?php echo explode('<hr id="system-readmore" />', $myCustomFields['text_en'])[1]; ?>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Вывод значений из custom fields материала в модуле по имени поля

Автор goga_pgasovav

Ответов: 3
Просмотров: 986
Последний ответ 30.12.2024, 13:22:11
от goga_pgasovav
[Решено] Получить category description image в index.php шаблона

Автор goga_pgasovav

Ответов: 6
Просмотров: 1037
Последний ответ 12.07.2024, 17:06:14
от goga_pgasovav
[Решено] Перестали работать переходы по меню сайта

Автор AlexP750

Ответов: 12
Просмотров: 1646
Последний ответ 06.02.2024, 12:42:26
от AlexP750
Как отменить system-massage?

Автор olderman

Ответов: 0
Просмотров: 487
Последний ответ 28.06.2023, 11:34:33
от olderman
Как отменить system-massage?

Автор olderman

Ответов: 0
Просмотров: 485
Последний ответ 28.06.2023, 11:33:59
от olderman