Есть поле-список в материале, как его вывести в блок

Главные вкладки

Аватар пользователя I_CaR I_CaR 23 ноября 2014 в 0:33

Как вывести список (см. скриншот №1) в блок.
Подсказали про представление, но там список выводится, но он не активен.
Т.е. не ведёт на материалы с выбранным в пункте блока полем.
(см. скриншот №2)
Настройки сделал такие: (см. скриншот №3)
Как это исправить? Что бы вели на материалы в которых присутствует значение этого поля?
Блок с категориями хочу создать.

ВложениеРазмер
Иконка изображения drupal_02.jpg77.6 КБ
Иконка изображения drupal_03.jpg34.28 КБ
Иконка изображения drupal_04.jpg73.12 КБ

Комментарии

Аватар пользователя artemrrr artemrrr 23 ноября 2014 в 19:02

Старайтесь не использовать Views там где можно без него обойтись.

"I_CaR" wrote:
Блок с категориями хочу создать

Включите в ядре Друпал модуль PHP filter, появится возможность вставить PHP код в блок.

А вот и сам Код:

<?php$terms = db_query("
  SELECT tid, name, (
    SELECT COUNT(*) FROM {taxonomy_index} ti
    LEFT JOIN {node} n ON ti.nid = n.nid
    WHERE ti.tid = td.tid AND n.status = 1
  ) node_count FROM {taxonomy_term_data} td
  WHERE vid = :vid
  ORDER BY weight
", array(':vid' =>ID_СЛОВАРЯ ));
 
$items = array();
foreach ($terms as $term) {
  $items[] = l($term->name, 'taxonomy/term/' . $term->tid) . ' (' . $term->node_count . ')';
}
 
echo theme('item_list', array('items' => $items));?>

Вот еще вариант ...http://xandeadx.ru/blog/drupal/563

p.s. Ищите в Гугл по запросу Друпал сниппеты.

Аватар пользователя I_CaR I_CaR 26 ноября 2014 в 23:13

1. ID_СЛОВАРЯ - какого словаря?
2. taxonomy/term/ - таксономия? Я делал полем (см.картинку 1) в "Главная > Управление > Структура > Типы материалов > "Название материала""
"admin/structure/types/manage/[Название_материала]/fields"
--------
Т.е. создание полей занятие в Drupal, я так понимаю, для создание интерактивных списков, занятие бессмысленное?
Нужно делать через таксономию?

Аватар пользователя I_CaR I_CaR 27 ноября 2014 в 1:45

artemrrr wrote:
" I_CaR" wrote:
Нужно делать через таксономию?

Да

Сделал таксономию, добавил "Категории" вручную все термины.
Но вот загорелся желанием сделать аналогично и список городов РФ.
почитал это(хотя это ни чего нового не дало).
Их же 10500!
Как их туда запхнуть?
Или только ручками?

Аватар пользователя artemrrr artemrrr 27 ноября 2014 в 0:55

Да, ХулиGUN прав, вставлять код в блок хоть и допустимо, но не совсем правильно и безопасно - (приходится запрещать юзерам все форматы ввода текста кроме простого, если они вообще имеют право создавать материал)
Конечно лучше будет, через свой модуль создать блок с нужным кодом, тогда и не придется в БД хранить и включать "ужасный и коварный" PHP filter.

Аватар пользователя I_CaR I_CaR 27 ноября 2014 в 1:59

Помог старый добрый Excel и Navicat
Но вот опять же НЁХ!
Почему я в БД (table: "taxonomy_term_data") записываю все города РФ, а Drupal выдаёт лишь 10?
---
Блин! с 2000-х работаю с БД, но таких фокусов не видел.
Почему именно 10?
Это предел таксономии в Drupal?

Аватар пользователя artemrrr artemrrr 27 ноября 2014 в 20:30

"I_CaR" wrote:
Или только ручками?

Конечно нет, есть модуль Taxonomy manager - он позволяет массовое создание терминов то есть прямо из ексель список копируете и там в окошко вставляете, только сразу 10500 не надо,подвиснит, лучше штук по 50-100. Скачивайте модуль, включайте и там разберетесь, там все просто.

p.s. Да и если вы решили сделать на Друпал, Авито, то это не лучший движок для этого.

Аватар пользователя I_CaR I_CaR 27 ноября 2014 в 22:12

artemrrr wrote:
"I_CaR" wrote:
Или только ручками?

Конечно нет, есть модуль Taxonomy manager - он позволяет массовое создание терминов то есть прямо из ексель список копируете и там в окошко вставляете, только сразу 10500 не надо,подвиснит, лучше штук по 50-100. Скачивайте модуль, включайте и там разберетесь, там все просто.

p.s. Да и если вы решили сделать на Друпал, Авито, то это не лучший движок для этого.

1. Всё-таки разобрался почему по 10 городов всего выводилось (тюнинг views'a помог).
2. Вот поле город в типе материала сделал "автозаполнение" (хорошая, но медленная по сравнению c JQuery, штука), а можно ли её внедрить в блок?
Блок ведь от views'а, а там лишь: HTML список, Меню перехода, Неформатированный список, Сетка и таблица.
В самом "создание материала" она очень симпатично смотрится.

3. на P.S. Проект вряд ли будет в начале высокопосещаемым, т.е. высоконагруженным. Или советуете более серьёзные, платные?

Аватар пользователя artemrrr artemrrr 28 ноября 2014 в 13:57

"I_CaR" wrote:
Вот поле город в типе материала сделал "автозаполнение" (хорошая, но медленная по сравнению c JQuery, штука)

каменный век, если токо не спец задумка исходящая из структуры сайта. Вы должны отображать посетителю объявления уже исходящие из его города на основании его входящего IP.
"I_CaR" wrote:
можно ли её внедрить в блок

можно всё
"I_CaR" wrote:
Проект вряд ли будет в начале высокопосещаемым

Извините, но в конце скорее всего тоже.

Если речь все же о досках объявлений, то вы некогда не сообщите жителям даже соседнего города о том что есть ваш сайт, я уже молчу про 10498 городов.
Авито вложили десятки млн. долларов и вышли в рентабильность токо недавно (почитайте про них)

Совет: Сосредоточтись только на своем городе, там где вы реально можете физически окучить всех потенциальных юр.лиц(автокоммисионки, риелторские агентста и т.д.)да даже банер один купити на месяц (20т.р.) где будет написано что есть новый городской сайт. И шанс на успех возрастет в 100 раз. станьте у себя хотябы номером 3, начнёти зарабатывать на сайте, наймете на работу спецов которые уже и будут делать вам мего-гиго сайт да и деньги на продвижения на тот момент уже будут, хотябы на контекстную рекламу в поисковиках.

"I_CaR" wrote:
Или советуете более серьёзные, платные?

Минус Друпала это его же плюс, а именно универсальность Ничто универсальное не может быть лучше чего то специального.(но для городского сайта даже с "большой нагрузкой" тянет с лихвой)

Идеальный вариант: Специально написанный движок под ваш проект.
Другой вариант: Использовать уже имеющуюся платформу так как сделал Instagram, например Веб-фреймворк
Django, кстати комментатор выши под ником Хулиган, активно работает на нем.

p.s. Все новое должно быть лучше того что уже есть или существенно отличатся, иначе провал, представьте что вы продаете какой то продукт который хуже и менее привлекательнее того что уже давно есть, кто его купит? (в вашем случаи будет пользоваться).