Stoyanov's website

  • Последни публикации
  • За мен
  • Карта на сайта
  • Контакти
  • Връзки

Навигация в Книги

  • Модули за Друпал
    • Модул sms_apub - публикуване без регистрация
    • Модул sms_link
    • Модул sms_node
  • Linux server
    • Downgrade php_5.3 -> php_5.2
    • Виваком 3G на Ubuntu
  • Views - примери
    • CCK field в свързан блок
    • Блок на views с аргументи terms или cck field от node
    • Блок слайдшоу с линкове
    • Динамично задаване на Items per page на views block
    • Как да направим блок със снимки
    • Мултиезичност във Views
      • Превод на block в Panel
    • Съдържание от категория и подкатегориите й
  • Интернет Магазин - демо
    • PayPal плащания
      • PayPal - настройки в акаунта
    • e-Shop - онлайн магазин на Друпал
    • Каталог, категории продукти
  • Снимка, Галерия в Друпал
    • Добавяне на снимка към story с HTML
    • Добавяне на снимки с автоматично преоразмеряване
    • Стил за снимки с вътрешен CSS
    • Воден знак за снимки (watermark)
    • Да направим галерия
    • ConTemplate за новата галерия
    • Меню връзка за Фото Галериите
    • Фото галерия с Carousel

Теми за:

CMS-управление на съдържание на сайт 30
Facebook приложения 1
Linux 3
SEO - оптимизация 7
ала-бала 6
домейн и хостинг 1
Инсталиране на Drupal сайт 9
интернет 9
Модули за Друпал 15
Обява 2
програми 4
сайт 24

Популярно съдържание

Днешни:

  • Модули за Друпал
  • Воден знак за снимки (watermark)
  • Как да направим блок със снимки
  • SEO и razni-raboti.com
  • Модул sms_link

През цялото време:

  • Воден знак за снимки (watermark)
  • Интернет Магазин - демо
  • За мен
  • Да направим галерия
  • Добавяне на снимка към story с HTML

Последно видяни:

  • e-Shop - онлайн магазин на Друпал
  • Блок слайдшоу с линкове
  • PayPal - настройки в акаунта
  • Модули за Друпал
  • Превод на block в Panel

Random 10

За мен
d6 + uc2 test
Работа с клиента
Намерихте ли тук, това което търсехте?
Как да си направим Друпал-а на български?
Мултимедия с Друпал - Видео файл
Интернет като бизнес среда
Как да се организираме за ъпдейт на модули и ядро на Друпал
Каталог, категории продукти
Друпал за бизнес клиенти

Гласуване

При търсене на уроци и помощ, предпочитам::

Последни коментари

  • изглежда интерсен тоя модул,
    преди 36 седмици 3 дни
  • много полезен модул. Браво
    преди 43 седмици 3 дни
  • много добра схема , и да,
    преди 46 седмици 2 дни
  • ето как трябва да излгежда
    преди 46 седмици 3 дни
  • може, няма значение на кой
    преди 1 year 6 дни
  • А може ли да се добавят
    преди 1 year 1 седмица
  • полезна информация за мен.
    преди 1 year 11 седмици
  • Щом сме го поискали е тъпо да
    преди 1 year 38 седмици
  • Аз по принцип ги ползвам от 5
    преди 1 year 40 седмици
  • Едно гласче и от мен за
    преди 1 year 40 седмици

Tags in Ключови думи

drupal6 views Друпал сайт Как да направим... с Друпал Теми за Друпал изработка на сайт личен сайт мултисайт оптимизация на сайт платени консултации за Друпал фирмен сайт фото-албум
more tags

Вход потребители

Какво представлява OpenID?
  • Идентификация с OpenID
  • Отмени идентификацията с OpenID
  • Заявка за нова парола
Powered by Drupal, система за управление на съдържанието с отворен код

statcounter


Check PageRank

Real Time Web Analytics

Clicky

GTranslate

Bulgarian Albanian Belarusian Czech Danish Dutch English Estonian Finnish French German Greek Hungarian Italian Latvian Lithuanian Macedonian Norwegian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swedish Turkish Ukrainian

Разработка на модули

Разработка на модули за Друпал d-support.eu

Каталог › Views - примери

Динамично задаване на Items per page на views block

  • Преглед
  • Следа
Нед., 10/16/2011 - 09:44 — sve

Задачата е да направим блок, който да съдържа винаги 6 /или друг брой/ резултата на релевантни по термини нодове, като:
*когато резултата е 6 и повече, да се покажат случайни 6 от тях или
*когато релевантните нодове са по-малко от 6, блока да се допълни до 6 с най-новите от същия тип съдържание.

За релевантни по термини или cck field е описано в http://razni-raboti.com/node/153. За този пример ще използваме същия този блок, като в същото views добавим нов дисплей блок, който да изведе последните 6 от същия тип съдържание.

Тъй като там се описва И за аргументи cck field И за термини като аргументи, ще се съсредоточим на случая, когато се използват термините.

Във views, което направихме в http://razni-raboti.com/node/153 имаме един дисплей блок, който има първи аргумент node nid който изключва текущия нод от резултата, и втори аргумент Taxonomy term id.
Добавяме още един дисплей блок. В неговия аргумент Taxonomy term id кликаме на Override и изтриваме този аргумент - в този дисплей искаме само последните от същия вид, което задаваме във Филтри и Сорт.

Малко отклонение: Override кликваме когато имаме няколко дисплея в едно views и искаме нещата за които кликаме Override, например за аргументи, или за филтри, или за сортиране да се отнасят САМО за този дисплей - в противен случай промените ще се отнасят за всички дисплеи в това views. За аргументи и сортиране искаме в конкретния случай всеки дисплей да има различни настройки, затова в настройването им кликваме на Override.

Така приключи създаването на този дисплей, който трябва да съдържа най-новите от същия тип съдържание. За да покаже само от същия тип съдържание най-новите 6 съответно задаваме филтър Node type, сортиране по дата с Override, понеже предния дисплей ги показваше random и Items per page 6.

Тези два дисплея съдържат всички резултати, които ни интересуват.

Целта от тук нататък е да покажем заедно тези два блока, като на втория /с последните от същия вид/ се задава динамично Item per page в зависимост от резултатите на първия блок /с релевантни по термини/.

Как да направим това?

Правим блок в който показваме тези два дисплея един след друг - първо с релевантните по термини, след него последните от същия тип. В боду полето на блока поставяме следния код, като за Входящ формат на блока избираме PHP:

<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
  $node = node_load(arg(1));
  $view_name = 'mpt';
 
  $tids = array();
    foreach ($node -> taxonomy AS $term) {
      $tids[] = $term -> tid;
    }
 
  $arg = implode(',', $tids);
 
  $args = array(arg(1), $arg);
  $rel_per_block = '6';
 
  $view = views_get_view($view_name);
  $view->set_display('block_1');
  $view->execute_display('block_1', $args);
  $rows = count($view->result);
  print  $view->preview('block_1', array($args));
 
  if (($rel_per_block - $rows) > 0 ) {
    $show_latest = $rel_per_block - $rows;
  }
  else {
    $show_latest = -1;
  }
 
  if ($rows < $rel_per_block) {
    $view2 = views_get_view($view_name);
    $view2->set_display('block_2');
    $args = array(arg(1));
    $view2->display_handler->set_option('items_per_page', $show_latest);
    $view2->set_items_per_page($show_latest);
    $view2->execute('block_2', $args);
 
    print  $view2->preview('block_2', array($args));
  }
}
?>

Няма оценка
‹ Блок слайдшоу с линкове нагоре Как да направим блок със снимки ›
Сподели:
  • arguments
  • block
  • drupal6
  • views
  • сайт

Коментари

Публикувай нов коментар

Smileys
:):D:bigsmile:;):p:O:|:(:~:((8):steve:J):glasses::party::love:
  • Адресите на уеб-страници и e-mail адресите автоматично се конвертират в хипервръзки.
  • Разрешени HTML tag-ове: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Линиите и параграфите се прекъсват автоматично.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <c>, <cpp>, <css>, <drupal5>, <drupal6>, <html>, <java>, <javascript>, <php>, <python>, <ruby>. The supported tag styles are: <foo>, [foo].
  • Textual smileys will be replaced with graphical ones.

Повече информация за опциите на форматиране

Image CAPTCHA
Въведете символите, показани на картинката. За нови символи, презаредете страницата.

Търсене

Подобни статии

  • Блок на views с аргументи terms или cck field от node
  • CCK field в свързан блок
  • Как да направим блок със снимки
  • Съдържание от категория и подкатегориите й
  • Блок слайдшоу с линкове
Theme by IvanSF
Разработка на уеб сайтове с Друпал.