Как создать файл шаблона для определенного дисплея в представлении, когда у меня есть несколько дисплеев одного типа

У меня есть представление, которое я использую для статей на главной странице (вид под названием Frontpage Top).

на одном БЛОКНОМ дисплее (названном: Top Story) он просто выбирает самую последнюю статью. на другом БЛОКНОМ дисплее (названном: Top 5 Stories) он выбирает 2–6-е самые последние.

Мне нужно сделать шаблон для одной главной истории, а затем еще один, чтобы отобразить остальные 5.

этот шаблон: views-view - Frontpage-Top.tpl.php работает, но он используется для ОБЕИХ блоков.

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

похоже, что это не задокументировано в Views2 (http://drupal.org/node/352970 ) и этот (Drupal: Views, может ли дисплеи имеют разные стили для вида?) близко, но не то же самое.

Если «правильный» способ - создать несколько представлений, я согласен с этим, но я не могу найти ресурс, в котором говорится об этом, и я бы предпочел не делать этого, если мне не нужно.

Спасибо!


person Jerzakie    schedule 02.02.2012    source источник


Ответы (1)


Каждый дисплей может быть тематическим независимо от другого. В администраторе представлений перейдите к дисплею, который нужно настроить, и нажмите «Тема: Информация». Это покажет вам все возможные шаблоны и варианты именования, которые у вас есть. См. Изображение ниже:

Тематика просмотров

Если вы видите на изображении выше, вы можете создать шаблон для определенных дисплеев в представлении. Например, все мои дисплеи в этом представлении - это страницы. Итак, чтобы стилизовать отображение «Визитные карточки» (2-й экран), я мог бы использовать «views-view-grid - Vendors - page- 2 .tpl.php», чтобы изменить Вывод стиля. page-2 указывает, что вы хотите, чтобы шаблон обрабатывал отображение второй страницы в этом представлении.

Если вам нужна дополнительная информация, ознакомьтесь с тематической документацией Views 2

person Laxman13    schedule 02.02.2012
comment
К сожалению, это не решает проблему. Мне нужен способ указать фактический ДИСПЛЕЙ по имени, а не только ВИД и тип отображения. - person Jerzakie; 02.02.2012
comment
Пожалуйста, посмотрите мои правки. Фактически, у вас может быть шаблон для определенного отображения в представлении. Не забудьте повторно просканировать файлы шаблона, чтобы он работал. Вопросы, дайте мне знать - person Laxman13; 02.02.2012
comment
хорошо, давайте вызовем представление MYVIEW, оба DISPLAYS - это типы BLOCK, называемые BLOCK_A и BLOCK_B, мне нужно иметь возможность делать что-то вроде: views-view-MYVIEW-BLOCK_A.tpl.php (который будет иметь разметку только для BLOCK_A отображение в MYVIEW) views-view-MYVIEW-BLOCK_B.tpl.php (в котором была бы разметка только для отображения BLOCK_B в MYVIEW) это соглашение не работает, но это то, что я пытаюсь сделать. У меня нет результатов для этого представления. Я пытаюсь разместить два ДИСПЛЕЯ БЛОЧНОГО типа из одного и того же ВИДА на одной странице и оформить их по-разному. - person Jerzakie; 02.02.2012
comment
Я понимаю. Отображение страницы было просто примером. То же самое и с блочными дисплеями. Посмотрите новое изображение, которое я поместил в своем ответе выше, это снимок экрана вашего примера. В имени файла шаблона, которое я дал вам ранее, все, что вам нужно сделать, это изменить страницу на блокировку. Как я уже сказал, если вы перейдете в Тема: Информация, вы увидите все доступные имена шаблонов. - person Laxman13; 02.02.2012
comment
Значит, имена расположены в числовом порядке в зависимости от их положения в представлении? BLOCK_A = views-view - MYVIEW - block-1.php.tpl, BLOCK_B = views-view - MYVIEW - block-2.php.tpl, и если бы я добавил BLOCK_C, это было бы views-view-- MYVIEW - блок-3.php.tpl? - person Jerzakie; 02.02.2012
comment
Это должно быть так, отсортированное по типу отображения и времени создания. Однако, если вы посмотрите в Theme: Information, как я уже сказал, он скажет вам, какой номер использовать, так что вам не придется гадать. - person Laxman13; 02.02.2012
comment
Да, я вижу разницу в этом. Я попробую! - person Jerzakie; 02.02.2012
comment
Это сработало. Проблема, с которой я столкнулся, заключалась в том, что у меня был другой файл, переопределяющий их (другой файл шаблона), я удалил его и сделал файлы -1 и -2, и вот, он работает. Большое спасибо. Для них это действительно странное соглашение. Интересно, почему они не позволяют вам указывать фактическое отображение по имени, а не использовать этот индекс. Еще раз спасибо! - person Jerzakie; 03.02.2012