Skip to main content
Темплейты для Drupal

Ответы на вопросы читателей #1

Подскажите как переопределить шаблон для вывода ноды в зависимости от вьюса в котором он находится. То есть в одном вьюсе мне надо чтобы поля выводились так, а в другом вьюсе чтоб иначе со своими стилями...

Итак, некоторое количество вопросов о друпал накопилось, по сему отвечаю:

Ultexplorer:
Здравствуйте. Каким модулем (или связкой) вы реализовали комментарии?

Это платформа Disqus, обладает удобной панелькой для администрирования комментов, вообще не пропускает спам, интегрируется в Drupal с помощью одноименного модуля Disqus. Единственное, что у меня не получилось - перетащить имеющиеся "родные" комменты в дискас, хотя это возможно при должном терпении. Если будет нужно - дам пару ссылок на инструкцию по импорту.

Amutylo:
Когда темизируешь пейджер вьюса, и например ставиш картинки вместо циферок и картинки стрелочки, это влияет на пейджер в любом вьюсе. А как сделать чтобы с одном вьюсе только было темизировано а в другом нет?

Чтобы в одном вьюсе было темизировано надо создать файлик для конкретной вьюсы. Скажем, если ваша вьюса называется alpha, то название файлика будет выглядеть для страницы так: views-view--alpha--page.tpl.php, а для блока с пейджером - views-view--alpha--block.tpl.php. Соответственно переписанное вами правило вывода вьюсы будет распространяться только на вьюсу alpha. В посте про темизацию views это достаточно подробно описано.

zoz:
Доброго времени суток. Подскажите как переопределить шаблон для вывода ноды в зависимости от вьюса в котором он находится. То есть в одном вьюсе мне надо чтобы поля выводились так, а в другом вьюсе чтоб иначе со своими стилями...

Если речь идет именно о разных вьюсах - то проблема не вполне понятна. Каждой вьюсе присваивается свой id, привязываясь к кторому можно прописать стили для каждого поля конкретной вьюсы. Для примера возьму хотя бы даже блок на главной странице своего же блога:

<div class="view view-homepage view-id-homepage view-display-id-block_1 contextual-links-region view-dom-id-2"> ... </div>

Для дива view-content, в котором собственно выводится содержимое полей вьюсы, в css прописано:

.view-id-homepage .view-content {
    background: url("images/icon1.png") no-repeat scroll 0 0 transparent;
    line-height: 25px;
    padding-left: 130px;
}

Соответственно, если темизацию надо применить ко всем вариантам представления этой вьюсы (если в одной вьюсе есть и страница, и блок, например) - прописываем css для .view-homepage, если вид страницы и блока одной и той же вьюсы должен отличаться - прописываем разные стили для  .view-display-id-block_1 (тут уж нужно смотреть на ваш view, на странице редактирования представлены все шаблоны файлов для темизации).

0

Comments