Знаете ли вы, что является лучшим методом удаления первой <ul>
и последней </ul >
формы переменной smarty?
В настоящее время у меня есть переменная, которая выводит тег меню: {$menu}
и подменю, но я просто удаляю первый и последний неупорядоченные теги списка, не удаляя теги <ul>
из вывода подменю.
С нетерпением жду этого!
Вы можете написать модификатор (и прикрепить его с помощью register_modifier
), который разделяет первый и последний ul-теги. Для этого вы можете использовать регулярное выражение.
function smarty_strip_ul($text) {
return preg_replace('~(.*?)<ul[^>]*>(.*)</ul>~s', '$1$2', $text);
}
а также
$smarty->register_modifier('strip_ul', 'smarty_strip_ul');
и в tpl
{$menu|strip_ul}
Это не очень легко решить...
Wether помещает уникальный элемент id, div/span в ваш список и меняет его, используя замену строки с помощью JQuery'ies с помощью функции document.ready().
JQuery также может помочь вам преобразовать содержимое вашего контейнера в dom-объект, а затем использовать: first и: last selectors для доступа к элементам, которые вы хотите удалить, и использовать функцию.remove().
В противном случае вы должны переписать его в ядре smarty, которое не может быть таким полезным, за исключением того, что вы знаете, что делаете, и не хотите потерять возможность легко обновлять smarty без конфликтов или перестраивать эту функцию.