Необходимо создать подобное: http://www.pgraph.ru/plastic/ - здесь видим 4 раздела (Модельный ряд «V», Модельный ряд «BP»).
Открываем Модельный ряд «V»(http://www.pgraph.ru/row_v/), а там: вид из товаров. Как создать Модельный ряд «V» - понятно, простое представление, с выдерганными из материала полями.
Но как создать родителя http://www.pgraph.ru/plastic/ ? Ведь это получится представление из представлений... Ну можно конечно кустомную html таблицу создать, а динамически никак?
Комментарии
Можно через views_attach прикреплять вид к материалу, и страницу http://www.pgraph.ru/row_v/ сделать именно так. Тогда родительский вид http://www.pgraph.ru/plastic/ будет вид из материалов. Но муторно это
По первому посту:
Если не устраивает табличный стандартный вид, можно тупо оттемизировать шаблон вида или даже вытянуть чисто стилями как надо, поставив стиль вывода "Unformatted"
по второму.views_attach - это что то около 50 кб кода. Зачем эти костыли?
То что вы хотите (контекстный блок внизу), решается стандартными средствами видов. Прикреплённый вид у вас будет в виде блока, нужно только задать соотвествующий код аргумента.
Зы: правда что ли 3 года с друпалом?
Я не про темизацию спрашиваю. Вид делается из материалов.
А http://www.pgraph.ru/row_v/ , http://www.pgraph.ru/row_bp/ и т.п. - это не материалы, это виды.
Хотя, действительно, с этими контекстными блоками с текстом еще возиться. Их же кучу надо. Буду ставить аттач.
время от времени
И получается дофига типов материала.
А вашим способом: много-много блоков.
Можно вид как-то к обычной странице крепить? Разные виды к разным страницам одного вида. Например, вид определяет, к какой странице ему крепиться по CCK полю...
Тип материала при чём?
Пора узнать, что такое аргументы в видах
Можно разметить регион блока прямо в шаблоне ноды и уже туда включать всё что угодно, можно вызывать вид сниппетом прямо в теле ноды.
А как вид узнает, к какому материалу ему крепиться? Я же в настройках аттача указываю только тип материала, и все.
В общем способ: к материалу крепить вид. Крепить можно аттачем. А как аргумент задать? Чтобы к странице, скажем tarelki крепились только товары с url tarelki/* . Или по другому признаку, например, товары с определенным cck полем. Но тогда какой аргумент вообще не представляю.
Вызвать вид в ноде - не проблема. Проблема в нужной ноде показывать нужный вид. Автоматически. Пример с тарелками. Какой аргумент завести?
Скажем так, мне тут видно словарь на основе таксономии, всем товарам нужной группы присваивается вид, их 4
т.е. использовать стандартный функционал таксономии для разбивки товаров на группы
плюс taxonomy_images кажется, чтобы прикрутить картинку для 4-х групп, чтобы их потом можно было вывести снипетом в блоке или через view.
Почти тот же вопрос: каким аргументом прикрепить вид к термину таксономии?
создаете словарь в таксономии создаете ваши 4 термина, отмечаете в словаре что его надо пристегнуть как поле к выбранным типам материалов и все, после этого при редактировании материала вы увидите это поле в котором для каждого товара выберете его группу. Можете даже указать что поле обязательное.
Ааа. Теперь понял вас. Вы товары хотите прикреплять к материалу без использования виевс. Но нужно товары крепить вьюсой, принципиально. Хоть к терминам, хоть к чему
И я честно говоря не понял ничего из двух этих предложений.
Что значит прикрепить товар к материалу без views?
Куда надо товары крепить views-ой? view это способ вывода уже забитой информации, все приклепления уже сделаны кем то заранее.
Я так понял цель была такая, разбить все печати на 4 группы товаров с возможностью вывода товаров по группно и с возможностью вывода 4-х групп с картинкой для каждой группы на главной странице.
Или вам надо что то другое, а я не понял.
почему? views остаются, создаете потом view подобно views taxonomy term
указываете ей страницу например shtamps
создаете аргумент taxonomy term
и выводите ваши товары как shtamps/term1_group or
shtamps/synonym_of_term1_group or
shtamps/модельный_ряд_в
если синоним потом для термина задать и немного php кода дописать для taxonomy_term аргумента в views
на эту тему много уже написано и даже видео на лулаботе наверняка есть
получится что через view вы выведите только определенную группу товаров и примените однотипную сортировку например по всем товарам
Создаёте вид-блок с нужными полями.
Аргумент: Taxonomy: Term ID
Provide default argument: Да
Default argument type: PHP Code
В поле вставляете такой код
<?php if(arg(0) == 'node' && is_numeric(arg(1)) && !arg(2)) {
$node = node_load(arg(1));
$terms =
taxonomy_node_get_terms_by_vocabulary($node, 1 // ваш ID словаря );
if($term = array_shift($terms)) {
return $term->tid;
} ?>
Остальные настройки можно не трогать
Сохраняем, включаем полученный блок в нужном регионе на странице таксономии
В нём будут показаны "похожие" товары из тойже самой категории. Если смотрите категорию "тарелки", в блоке будут показаны другие тарелки.
Вам это надо было?
Итак, только не блоками (чтобы их не было куча), а аттачем:
1. Создаем словарь с терминами тарелки, ложки.
2. Крепим словарь к типу материала каталог (простой созданный тип), и товар(уберкартовский).
3. Создаем пару товаров с термином тарелки и каталог, с тем же термином.
4. Ставим модуль аттач и прикрепляем вид с полями товара к материалу "каталог товара".
Проверяем: заходим на созданную страницу каталога товара и видим, что вид действительно прикрепился. Есть там товары. Все.
Теперь задача: чтобы в каталоге товаров (тип) с термином тарелки показывались только товары с термином тарелки. Тем же самым.
Я так понял, нужно ставить ваш аргумент (раз работает для блоков, сработает и не для них). Ставим: теперь в каталоге товаров ничего не отображается. Вот я и прошу подсказать этот аргумент, чтобы:
"в каталоге товаров (тип) с термином тарелки показывались только товары с термином тарелки."
Уф, что то мудрено получается. view_attach на сколько я помню был разработан чтобы упростить отображение связанных друг с другом товаров по nodereference и для тех кто ленится создать view типа блок. Модуль кажется по сути это и делает.
Но вернемся к другому зачем надо создавать тип материала Каталог?
если к типу материала прикрутить таксономию, то сами термины таксономии как бы образуют каталог.
В данном случае, если набрать url: site/taxonomy/term/id_термина,
то вы увидите в виде списка только те материалы, у которых выбран этот термин, чем не каталог?
У меня у самого недавно была другая задачка, типичная магазинная как я думаю.
связать конкретный товар с конкретным, а также по правилу определенную группу товара с другой определенной группой товара.
Так вот здесь действительно надо в первом случае взаимосвязь на основе nodereference + cnr + view, а во втором случае, я решил использовать content taxonomy, и по аналогии с nodereference+cnr делать все тоже самое только через термины.
но в вашем случае, вполне можно обойтись обычной таксономией, так как сам термин словаря по сути и есть каталог, а taxonomy_images позволит вам сохранить картинку для каждой группы чтобы ее вывести когда только группы отображаются.
У вас какой ID словаря, где находятся категории лижки вилки эти?
Лучше не мешать человеку. Раз он так считает, значит правильно. Со временем эти модули лишние сами поотваливаются, по себе знаю.
Вот нода типа материала "каталог" с прикрепленным к ней аттачем, без аргумента, то есть там и ложки и вилки, все вместе: http://pechati-ufa.ru/node/10
ид словаря: 1. Как у вас в аргументе: vocabulary/1 .
Если к виду прикрепить аргумент в том виде, в котором он сейчас, ничего не отобразится.
views_attach с создаваемым им display node content сам создает аргумент Аргументы: nid. Может из-за этого что-то не получается?
Но ни одного блока не создается. А если правильно удастся настроить аргумент, то нужен только 1 вид.
Да, образуют. И это все можно темизировать. А можно вьюсой вывести (что и пытаюсь). Я понял вас. Но views гораздо удобнее пользоваться. Замутил поля, нажал на кнопку и все. Только как их распределять аргументом.
volocuga@drupal.org
, id словаря=1
drupal.org/project/category посмотрите внимательно этот модуль
drupal.org/project/category посмотрите внимательно этот модуль
Смотерел, как раз года 3 назад. Не катит
Года 3 назад это был не модулт, а г... Теперь намного лучше, и под задачу подходит
Тот код что я дал - для обычной вьюхи, не view_attach
Во-вторых, вы код-то, надеюсь, без <?php?> вставляли?
Ладно пусть будет views
в вашем случае таксономию как я говорил прикрутить придется.
Теперь главное, раз вы используете views_atach, то наверняка она там view использует у себя,
В этой view отбираются все ваши товары через фильтр, таким образом мы получили все товары.
Далее надо установить аргумент, т.е. сказать что из полученных товаров выбрать только те которые являются вилками (аргумент это по сути динамический фильтр).
Для этого надо выбрать taxonomy: term ID аргумент.
Далее, откуда по вашему берется значение этого аргумента?
Если делать без views_attache, то вы бы сделали view типа блок.
сказали что блок выводится только для материалов типа каталог.
создали бы 4 типа материалов каталог и ассоциировали бы их с терминами: вилки, ножи, утюги из того же словаря.
Далее, грузится например вилки, отображается блок (так как он отображается для материала типа каталог), в блоке view.
В view написано, что ей передадут аргумент типа taxonomy term id, т.е. в нее передать надо идентификатор термина вилки в виде числа.
как это сделать, надо в аргументах у вью выбрать php code default как написал volocuga, он и пример кода там привел.
Т.е. на странице вилки, фактически запускается php код аргумента вьюхи, в коде этом собираются все термины текущей отображаемой страницы "вилки" с которыми вы ее связали, чтобы передать их в view (ведь можно например одновременно отобразить по желанию вилки одновременно с ножами), естественно каталог "вилки" связаны с одним термином "вилки".
Получив id термина его в виде php-массива передают в view, чтобы view отсекла лишние не вилки ведь id термина вилки ей теперь передали.
Надеюсь теперь стало понятно что такое аргументы?
лучше почитать что нить про аргументы.
Если с views:
Два типа материала: раздел, товар
Делаем вид каталога с адресом: catalog
Темизируем, добавлям ссылки вида catalog/*, где звездочка - нид раздела (тип материала раздел)
В типе товар через нодреференс создаем саязь с типом материала раздел,
Создаем вид с адресом catalog/* из адреса берем аргумент - нид раздела, (как содать такой вид много написано на друпал.ру)
Вот и все
Парни, спасибо!