Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по вёрстке » Как задать class тегу h2 в полной новости?

Как задать class тегу h2 в полной новости?


     10.03.2017    Общие вопросы по вёрстке, Ламерские вопросы    2202

вопрос
Нужно задать класс тегу h2 в полной новости. Но не могу найти где он генерируется, то есть в каком файле.
Весь движок перерыл

Ответил: hackedshv


Ответ дал Dark5ider

18 комментариев

stopani
Юзер

stopani - 10 марта 2017 16:26 -

fullstory.tpl

hackedshv
Юзер

hackedshv - 10 марта 2017 16:27 -

stopani,
Если бы было все так просто. В fullstory.tpl только основа.
А мне надо задать класс тегу который генерирует редактор.

stopani
Юзер

stopani - 10 марта 2017 16:29 -

Оберни содержимое fullstory.tpl в класс box и в стилях пропиши box h2
Не ужели сложно адрес сайта дать, было бы на много проще.

hackedshv
Юзер

hackedshv - 10 марта 2017 16:34 -

stopani,
Помимо этого есть и другие теги h2 в разных местах.
Сайт на локалке.
Мне нужно знать где генерируется h2 чтобы задать ему класс, если не знаете не засоряйте тему.

stopani
Юзер

stopani - 10 марта 2017 16:37 -

Всё больше не сорю, будем ждать экстрасенсов!

Dark5ider
Эксперт

Dark5ider - 10 марта 2017 17:14 -

Согласен stopani, тут не поймешь чего вы спрашиваете.

Сам редактор никаких классов не добавляет.

Если в шаблоне много элементов h2, можете обратиться к h2 заголовку

через CSS:
.yourcontainer h2:first-child {
     color: red;
}


Через JS:
$('.yourcontainer ').find('h2:first').css('color', 'red');

hackedshv
Юзер

hackedshv - 10 марта 2017 17:20 -

Dark5ider,
Да редактор классов не добавляет, но тег h2 (заголовок) он генерирует а значит я могу прописать туда class, и при следующей генерации будет выводиться h2 только с классом.
CSS и JS меня не устраивают, если бы делалось все так просто сделал бы сам.
В каждом шаблоне данный h2 может стоять в разных местах, а тегов на странице h2 много.

Dark5ider
Эксперт

Dark5ider - 10 марта 2017 17:29 -

У вас WYSIWYG редактор или BBCODES?

Вы хотите чтобы по клику на вставку заголовка h2 в код добавлялся атрибут class?

Что такое "следующая генерация"?

Как вам писали, приведите пример для более ясного понимания вашего вопроса.

hackedshv
Юзер

hackedshv - 10 марта 2017 17:37 -

Dark5ider,
BBCODES
Причем тут клик.
Если я добавляю заголовок h2 с редактора, чтобы в нем уже был встроен атрибут class с определенным значением.

Нажимаю "Заголовок 2" в редакторе
Получаю: [h2].........[/h2]
Публикую новость, но чтобы в этом h2 был уже определнный класс.

Dark5ider
Эксперт

Dark5ider - 10 марта 2017 17:58 -

Не понимаю тогда зачем копать движок,если все это можно сделать с помощью CSS или JS.

Но если уж вам прямо надо и точка, то открываете engine/classes/parse.class.php

Находите функцию BB_Parse

В ней обработчик заголовков выглядит так:
				while( preg_match( "#\[h([1-6]{1})\](.+?)\[/h\\1\]#is", $source ) ) {
					$source = preg_replace( "#\[h([1-6]{1})\](.+?)\[/h\\1\]#is", "<h\\1>\\2</h\\1>", $source );
				}

Меняете как вам надо, но не забудьте поправить декодер в функции decodeBBCodes

Вот здесь:
$txt = preg_replace( "#<h([1-6]{1})>(.+?)</h\\1>#is", "[h\\1]\\2[/h\\1]", $txt );

hackedshv
Юзер

hackedshv - 10 марта 2017 18:47 -

Dark5ider,
Не заметил раньше. Спасибо, то что надо было.

stopani
Юзер

stopani - 10 марта 2017 17:41 -

Так он все равно будет генерировать ко всем h2, а не только к заголовку. Проще и лучше использовать css.

hackedshv
Юзер

hackedshv - 10 марта 2017 17:51 -

stopani,
Ты не понял. Те h2 это совсем другая генерация.
В общем там все устроено так что единственный вариант, это то что я предлагаю.

stopani
Юзер

stopani - 10 марта 2017 17:53 -

Те h2 не в fullstory ?

hackedshv
Юзер

hackedshv - 10 марта 2017 17:56 -

stopani,
есть и в fullstory есть и вне.
Вы спрашиваете у меня бесполезную информацию.
Я всего лишь спросил где генерируется h2 который прописывается через редактор BBCODES, а вы начали вообще про непонятно что.

stopani
Юзер

stopani - 10 марта 2017 18:08 -

Вот именно, что не понятно, что.
Так и хочется выругаться. Если у тебя в fullstory сколько угодно h2, то через редактор всё равно класс добавиться ко всем h2 . А которые не в fullstory они не причём.
(так сделай через стили как нибудь так, чего не нравиться, примеры выше или ниже)


<div class="box">
  {full-story}
</div>

.box h2 {
  font-size: 20px
}

hackedshv
Юзер

hackedshv - 10 марта 2017 18:41 -

stopani,
В fullstory много тегов h2, некоторые из них подтягиваются из модулей.
Выделением {full-story} стили применяться ко всем.
А если я задам класс только тем которые через редактор добавляются то решу проблему.
Я повторюсь если вы не знаете где генирируется все это дело..то отдыхайте

LazyDev
PHP-developer

LazyDev - 10 марта 2017 18:46 -


hackedshv, все очень плохо. Вам уже указали как это реализовать, смотрите комментарии выше. И не грубите другим людям, которые пытаются помочь вам.

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх