#drupal-6 #views #drupal-views
#drupal-6 #Вид #drupal-представления
Вопрос:
Я пытаюсь придать немного стиля определенному набору открытых фильтров в представлении, которое я создал.
Представление называется user_search, и поэтому я создал views-exposed-form—user-search.tpl.php и это не сработало (все, что он сделал, это удалил открытые фильтры, но все еще отображал представление). views-exposed-form—user-search—page.tpl.php также получены те же результаты.
Даже если бы это сработало, я все еще не знаю, что добавить туда, чтобы форма отображалась, просто чтобы я мог добавлять стили или разделы контейнера.
print drupal_render($form);
не сработало.
Ответ №1:
Я нашел решение после долгих поисков.
Во-первых, вы должны найти views-exposed-form.tpl.php файл, который должен быть расположен в sites/all/modules/views/theme/
папке. Мы используем стек acquia, поэтому он был расположен в vendor/
папке.
Скопируйте это в themes/YOUR-THEME/
папку и переименуйте ее в views-exposed-form--your-view-name.tpl.php
Если вы хотите создать только определенное отображение вашего представления, назовите его views-exposed-form--your-view-name--display.tpl.php
Затем вы можете использовать существующий фреймворк, чтобы отредактировать его по своему усмотрению. Вот пример.
<?php
// $Id: views-exposed-form.tpl.php,v 1.4.4.1 2009/11/18 20:37:58 merlinofchaos Exp $
/**
* @file views-exposed-form.tpl.php
*
* This template handles the layout of the views exposed filter form.
*
* Variables available:
* - $widgets: An array of exposed form widgets. Each widget contains:
* - $widget->label: The visible label to print. May be optional.
* - $widget->operator: The operator for the widget. May be optional.
* - $widget->widget: The widget itself.
* - $button: The submit button for the form.
*
* @ingroup views_templates
*/
?>
<?php if (!empty($q)): ?>
<?php
// This ensures that, if clean URLs are off, the 'q' is added first so that
// it shows up first in the URL.
print $q;
?>
<?php endif; ?>
<div class="views-exposed-form">
<div class="views-exposed-widgets clear-block">
<?php foreach($widgets as $id => $widget): ?>
<div class="views-exposed-widget">
<?php if (!empty($widget->label)): ?>
<label for="<?php print $widget->id; ?>">
<?php print $widget->label; ?>
</label>
<?php endif; ?>
<?php if (!empty($widget->operator)): ?>
<div class="views-operator">
<?php print $widget->operator; ?>
</div>
<?php endif; ?>
<div class="views-widget">
<?php print $widget->widget; ?>
</div>
</div>
<?php endforeach; ?>
<div class="views-exposed-widget">
<?php print $button ?>
</div>
</div>
</div>
Ответ №2:
Если вы сомневаетесь в том, как оформить часть страницы, установите модуль разработчика темы. Это позволит вам увидеть, какой файл или функция темы в данный момент выводит определенную область страницы, а также какие файлы или функции можно использовать для ее переопределения. Смотрите скринкаст для получения более подробной информации.