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

goga_pgasovav

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

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

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

effrit

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

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

effrit

  • Легенда
  • 10134
  • 1116 / 13
  • effrit.com
*

goga_pgasovav

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

#решено Ошибка в плагине - packageinstaller.xml не найден

Автор Шмайсер

Ответов: 2
Просмотров: 51
Последний ответ 01.10.2022, 15:26:46
от marksetter
!!!РЕШЕНО - Сайт не цепляет переопределение! Помогите

Автор onniby

Ответов: 4
Просмотров: 272
Последний ответ 04.05.2022, 12:47:09
от onniby
[РЕШЕНО] Не открывается статья, 404 ссылка не существует

Автор all_zer

Ответов: 17
Просмотров: 1963
Последний ответ 01.05.2022, 18:29:23
от Maksdal
[Решено] Intro image выводится в Inrotext

Автор black_shadow2204

Ответов: 4
Просмотров: 1150
Последний ответ 30.01.2022, 19:04:39
от black_shadow2204
Скрыть не нужные поля в SP LMS - Joomla Learning Management System

Автор kot488

Ответов: 0
Просмотров: 171
Последний ответ 23.01.2022, 17:19:38
от kot488