Добавление класса CSS в Smartytag в CMSmadesimple

Привет, я недавно начал изменять стиль страницы, которая использует CMSmadesimple. У меня нет опыта использования CMSms и Smartytags.

но на странице есть несколько smartytags, которые нужно стилизовать.

например это тег {$entry->morelink}. Мне нужно добавить к нему этот CSS-класс .link.

Я перепробовал все, что придумал, но, похоже, ничего не работает. Я также искал в Google без удачи.

Я надеюсь, что есть кто-то, у кого есть опыт и знает, как добавить .class в тег Smarty.

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
0
0
60
2

Ответы 2

Этот вопрос много раз задавали на форумах CMS Made Simple сообщество.

Попробуйте использовать модификатор переменной Smarty заменять, например:

{$entry->morelink|replace:'class = "':'class = "link '}

Если в данной строке нет атрибута класса, вы можете заменить я бы или даже закрыть >.

{$entry->morelink|replace:'id=':'class = "link" id='}

Это грязное решение, но оно будет работать. Лучше поменять исходный объект.

Есть и другие подходы к изучению. Один из них использует тег Smarty, который не генерирует HTML, а только предоставляет значение. Например, в зависимости от модуля содержимого может быть такой тег, как "{$ entry-> moreurl}", который будет предоставлять только URL, а не тег.

Затем вы можете создать свой собственный HTML:

<a href = "{$entry->moreurl}" title = "{$entry->name}" class = "link">View More</a>

Вам нужно будет узнать, что поддерживает этот модуль, добавив это в шаблон и просмотрев доступные параметры: {$ entry | print_r}

Если ваш единственный вариант - это тег, который также генерирует HTML, вы также можете обернуть тег Smarty внутри элемента div или span и присвоить ему имя или идентификатор класса.

Например,

<span class = "link">{$entry->morelink}</span>

Тогда ваш CSS можно записать так:

.link a { color: red; }

Другие вопросы по теме