Привет, я недавно начал изменять стиль страницы, которая использует CMSmadesimple.
У меня нет опыта использования CMSms и Smartytags.
но на странице есть несколько smartytags, которые нужно стилизовать.
например это тег {$entry->morelink}. Мне нужно добавить к нему этот CSS-класс .link.
Я перепробовал все, что придумал, но, похоже, ничего не работает. Я также искал в Google без удачи.
Я надеюсь, что есть кто-то, у кого есть опыт и знает, как добавить .class в тег Smarty.






Этот вопрос много раз задавали на форумах 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; }