Как я могу напечатать первые n символов переменной smarty, например, первые 30 символов {$ var}?
Вы должны использовать модификатор усечения:
{$var|truncate:30}
Подробнее здесь .
Теперь есть функция:
{$var|substr:0:30}
или mb_substr для переменных UTF-8:
{$var|mb_substr:0:30}
Относительно вашей проблемы Jojo уже дал правильный ответ .
Но для удобства использованияи, следовательно, было бы лучше сократить текст с помощью CSS с помощью свойства text-overflow.Это позволяет вам напечатать весь текст клиенту, но сократить его до определенной ширины / длины и показать вместо него ....
text-overflow
...