Темизация формы поиска. Лишние div'ы
Прислано: CSoft
вс, 01/08/2010 - 12:13
Всем привет! Вроде изъезженная тема, но всё равно есть вопрос...
Благодаря многим полезным статьям здесь сделал свою форму, как мне нужно. Но бесит одна вещь - элементы заворачиваются в дивы, причём местами очень бестолково.
Например:
<div>поиск <div class="form-item" id="edit-search-block-form-1-wrapper"> <input type="text" maxlength="128" name="search_block_form" id="edit-search-block-form-1" size="15" value="" title="Введите слова, которые вы хотите искать." class="form-text" /> </div> <input type="submit" name="op" id="edit-submit" value="" class="form-submit search" /> ... </div>
Ужас... Решил я убрать всё лишнее, отыскал, что это всё вокруг рисует theme_form_element, оформил его в template.php, подкорректировал под себя.
Всё отлично, всё нравится, но, как вы поняли, это коснулось всех форм на сайте. Вот собственно и вопрос: можно ли вызвать эту функцию только для модуля поиска или ещё как-то по-другому? А может даже и другой совсем путь есть...
Мне дивы эти не просто портят вид формы (хоть я и могу в css сделать всё, что нужно), они там тупо не нужны...
- CSoft's blog
- Для комментирования войдите или зарегистрируйтесь
В theme_form_element должно и имя формы поступать. Если форма та, что вам нужна, темизируйте, если нет - отдаёте штатный код.
- Для комментирования войдите или зарегистрируйтесь
В theme_form_element должно и имя формы поступать. Если форма та, что вам нужна, темизируйте, если нет - отдаёте штатный код.
А что, хорошая идея! Спасибо! Вот, как я сделал:
<?php
if ($element["#parents"][0] == "search_block_form" || $element["#parents"][0] == "search_theme_form")
{
return $value;
}
else
{
// дефолтный код
}
?>Если у кого будут ещё идеи или поправки - с удовольствием выслушаю :)
- Для комментирования войдите или зарегистрируйтесь
Тоже столкнулся с такой проблемой. Помоему, если нужно вырезать дивы только в форме поиска, то это лучше сделать регулярным выражением или функцией strip_tags, вроде:
<?php
print strip_tags($search_box, '<input> , <button>');
?>
- Для комментирования войдите или зарегистрируйтесь
просто в page.tpl.php
пишите:
<?php
// ....
<?php if ($search_box): ?>
<?php print strip_tags ( $search_box , '<form><input><label>') ; ?>
<?php endif; ?>
// ....
?>- Для комментирования войдите или зарегистрируйтесь




Комментарии