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

goga_pgasovav

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

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

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

effrit

  • Легенда
  • 9970
  • 1099 / 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

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

goga_pgasovav

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

[Решено] Несколько URL в одно условие IF

Автор lgmax

Ответов: 2
Просмотров: 87
Последний ответ 21.03.2021, 18:07:17
от lgmax
Где почитать НА РУССКОМ про устройство Джумлы в плане кода и прочего?

Автор Anttuer

Ответов: 3
Просмотров: 444
Последний ответ 09.02.2021, 11:37:31
от hmr
[РЕШЕНО]Добавление 1 к классу при foreach

Автор AlexB

Ответов: 2
Просмотров: 125
Последний ответ 04.12.2020, 13:56:06
от AlexB
[Решено] Определить текущий URL

Автор lgmax

Ответов: 1
Просмотров: 93
Последний ответ 04.12.2020, 10:35:26
от lgmax
[Решено]С редиректом

Автор AlexB

Ответов: 4
Просмотров: 154
Последний ответ 20.11.2020, 15:34:14
от ProtectYourSite