Joomla 3, проблема с readmore (или не закрытый <p>)

12
ishimov
На сайте с 08.10.2010
Offline
141
4540

Давно мучает такая проблема, в Джумле, когда вставляешь в статью readmore абзац разрывается на два. А иногда просто необходимо вставить readmore именно посреди предложения, а не в конце абзаца. Решал эту проблему тупо редактируя код материала, оставляя readmore именно внутри абзаца <p></p>. И как то уже смирился с этими лишними движениями, но недавно до меня доперло, что в таком случае на странице с блогом категории получается полный бардак, где куча не закрытых тегов <p>.

Как решить эту проблему не знаю. Нужна Ваша помощь! Если нужно, могу показать сайт.

Сопровождение тендеров (http://good-tender.ru) от Good-tender.Ru - обслуживание по всей России. А также кладезь полезной информации в сфере госзакупок по 44-ФЗ и 223-ФЗ
J
На сайте с 20.02.2014
Offline
120
jkm
#1

В шаблоне для вывода категории


echo $this->item->introtext;

заменить на:


echo preg_replace('%(?<!</p>)$%s', '</p>', trim($this->item->introtext));
ishimov
На сайте с 08.10.2010
Offline
141
#2
jkm:
В шаблоне для вывода категории

echo $this->item->introtext;


заменить на:

echo preg_replace('%(?<!</p>)$%s', '</p>', trim($this->item->introtext));

Спасибо за помощь! К сожалению не помогает, на сколько я понимаю этот код должен вставлять закрывающий тег </P> в блоге категории. Внес изменения но при просмотре кода страницы тег <P> всё равно не закрыт. А валидатор если показывал на одной из страниц 28 проблем, стал показывать 38 :(

В чем может быть проблема, в пхп знаний минимум к сожалению...

[Удален]
#3

Какой используется редактор?

ishimov
На сайте с 08.10.2010
Offline
141
#4

Dismissed, JCE

[Удален]
#5

Либо я не понял чего-то, но у меня, даже при вставке Подробнее внутри предложения, теги автоматически закрываются.

<p>

Либо я не понял чего-то, но у меня, даже при вставке Подробнее</p>

<hr id="system-readmore" />

<p>

&nbsp;внутри предложения, теги автоматически закрываются.</p>

ishimov
На сайте с 08.10.2010
Offline
141
#6
Dismissed:
Либо я не понял чего-то, но у меня, даже при вставке Подробнее внутри предложения, теги автоматически закрываются.

<p>
Либо я не понял чего-то, но у меня, даже при вставке Подробнее</p>
<hr id="system-readmore" />
<p>
&nbsp;внутри предложения, теги автоматически закрываются.</p>

не поняли видимо немного) Вот именно что они закрываются как Вы написали сейчас в примере (в самой статье), т.е. цельное предложение разбивается на 2 абзаца. Но проблема не в этом. НЕ ЗАКРЫВАЕТСЯ тег в блоге категории. На примере:

Исходный вариант после вставки readmore

<p>

Либо я не понял чего-то, но у меня, даже при вставке Подробнее</p>

<hr id="system-readmore" />

<p>

&nbsp;внутри предложения, теги автоматически закрываются.</p>

Вариант который получается после моего форматирования (чтобы не рвать предложение)

<p>

Либо я не понял чего-то, но у меня, даже при вставке Подробнее

<hr id="system-readmore" />

&nbsp;внутри предложения, теги автоматически закрываются.</p>

То что получается в блоге категории

<p>

материал №1 Либо я не понял чего-то, но у меня, даже при вставке Подробнее

<hr id="system-readmore" />

<p>

материал №2 Либо я не понял чего-то, но у меня, даже при вставке Подробнее

<hr id="system-readmore" />

<p>

материал №3 Либо я не понял чего-то, но у меня, даже при вставке Подробнее

<hr id="system-readmore" />

Как видно закрывающие теги остаются вне кода блога категории...

J
На сайте с 20.02.2014
Offline
120
jkm
#7

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

Вот под это дело другая регулярка.


echo preg_replace('%(<p>.+?\S(?<!</p>))(?=\s*<div)%is', '\1</p>', $this->item->introtext);

На сайте полно других ошибок.

Валидатор показывает, что на страницах встречается <?php } ?>

и множество блоков <div id="icons"> на одной странице.

[Удален]
#8

Если вопрос решен, то хотел бы спросить, не создавая новой темы: а если в редактор каждый новый абзац (есть такая опция в настройках) оборачивает в <div> — для СЕО это хорошо, плохо или не имеет значения?

ishimov
На сайте с 08.10.2010
Offline
141
#9
jkm:
Как оказалось, на сайте плагин JoomLine Like добавляет в конец превью кучу своей разметки.
Вот под это дело другая регулярка.

echo preg_replace('%(<p>.+?\S(?<!</p>))(?=\s*<div)%is', '\1</p>', $this->item->introtext);


На сайте полно других ошибок.
Валидатор показывает, что на страницах встречается <?php } ?>
и множество блоков <div id="icons"> на одной странице.

Спасибо большое за уделенное время и помощь, сегодня попробую исправить. По результатам отпишусь.

---------- Добавлено 22.09.2014 в 10:25 ----------

Dismissed:
Если вопрос решен, то хотел бы спросить, не создавая новой темы: а если в редактор каждый новый абзац (есть такая опция в настройках) оборачивает в <div> — для СЕО это хорошо, плохо или не имеет значения?

Думаю абсолютно никакого значения... только зачем это делать😕

J
На сайте с 20.02.2014
Offline
120
jkm
#10

Как-то не сразу заметил, что в перевью тегу прописаны стили <p style="text-align: justify;">

Вот еще поправил регулярку.


echo preg_replace('%(<p[^>]*>.+?\S(?<!</p>))(?=\s*(?:<div|$))%is', '\1</p>', $this->item->introtext);
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий