Задавайте вопросы про Drupal - 2

Digdug
На сайте с 11.07.2012
Offline
119
#571

С вашей помощью разобрался с field_apartmentpage_rayon.

Теперь не могу сделать вывод объявлений по цене меньше чем в объявлении.

Т.е. если у объявления цена 1000 руб, мне нужно отобразить похожие объявления с ценой до 1000 руб. field_apartmentpage_price - cck поле.

Как можно такое сделать?

vandamme
На сайте с 30.11.2008
Offline
647
#572

цена сделана числовым или текстовым полем?

Digdug
На сайте с 11.07.2012
Offline
119
#573
vandamme:
цена сделана числовым или текстовым полем?

Текстовое поле :(

Неужели нет способа? Если бы можно было использовать чистый php, то можно было бы сделать за полсекунды...

Digdug
На сайте с 11.07.2012
Offline
119
#574

Товарищи! Давайте сплотимся и вместе решим мою проблему :)

vandamme
На сайте с 30.11.2008
Offline
647
#575

как вариант - добавь computed field с php сниппетом, который считает текстовое поле, конвертирует в числовое и запишет в числовое поле. Далее при помощи VBO апдейтни все ноды.

Digdug
На сайте с 11.07.2012
Offline
119
#576
vandamme:
как вариант - добавь computed field с php сниппетом, который считает текстовое поле, конвертирует в числовое и запишет в числовое поле. Далее при помощи VBO апдейтни все ноды.

Я понял о чем речь, но для меня это сложно и кажется должен быть более легкий способ с использованием views.

У меня есть код выборки по цене для вставки в шаблон ноды, но кажется это не очень правильно.

Garin33
На сайте с 31.08.2009
Offline
169
#577
Digdug:
У меня есть код выборки по цене для вставки в шаблон ноды, но кажется это не очень правильно.

Понятие "правильности" в Друпале очень расплывчатое :). К одному и тому же результату можно прийти разными путями - например вьюсы, хардкод и т.д. Делайте так, как получается. Позже, если поймете, что есть какой-то иной (и по какой-то причине более подходящий вариант) - переделаете.

Потому что Drupal - это круто.
Digdug
На сайте с 11.07.2012
Offline
119
#578

Если views нет на странице (вывожу как блок), то он все равно обрабатывается и грузит систему или нет?

Когда создано около 10 views, это много? Запросы не очень тяжелые, обычная фильтрация по категориям и дате создания.

Может кому-нибудь будет полезен код отображения нод по разным параметрам:

<?
$min_date = strtotime('-120 day', $node->created);
$max_date = strtotime('+120 day', $node->created);
$query = db_select('node', 'n');
$query
->fields('n', array('nid'))
->condition('n.type','apartmentpage', '=')
->condition('n.created', $min_date, '>=')
->condition('n.created', $max_date, '<=')
->orderRandom();

$result = $query->execute();
$count = 0;
while(($item = $result->fetchAssoc()) && ($count < 8)) {
$rnode = node_load($item['nid']);
$photorel = $rnode->field_apartmentpage_gallery['und'];
if ($photorel) {
$count ++;
print render(node_view($rnode,'teaser'));
}
} ?>
Alangasar
На сайте с 06.11.2008
Offline
98
#579

Не показывается блок на странице, за счет того, что он исключен из вывода на этой странице, или блок не показывается из-за того, что нет результатов?

В первом случае не грузит, во втором запрос к БД выполняется, но блок не выводится т.к выводить нечего.

Вьюсы можно кэшировать, только со 100% уверенностью не скажу каков будет результат в вашем конкретном случае, фильтрацию имею ввиду.

Digdug
На сайте с 11.07.2012
Offline
119
#580
Alangasar:
Не показывается блок на странице, за счет того, что он исключен из вывода на этой странице, или блок не показывается из-за того, что нет результатов?

Не показывается, потому что его нет в коде (т.е. в шаблоне).

Про кэш знаю, спасибо, что напомнили.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий