atLex: Блог

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

Результаты стандартного поиска в виде таблицы?

10 августа 2009 в 17:24

Подскажите, пожалуйста, как реализовать вывод результатов стандартного поиска в виде таблицы, например как это сделано во Views?
Какие модули использовать и какие файлы модифицировать?

Пробовал http://drupal.org/project/faceted_search, у него есть возможность выводить результаты через уже созданные Views. Ничего не вышло, т.к. наверное не правильно создавал аргументы вьюхи.

В сети нашёл только варианты модификаций search-result.tpl.php и search-results.tpl.php и они были без таблиц.

Форма в блоке. Как установить default_value?

9 июля 2009 в 0:23

Решил воткнуть Hierarchical Select в блок. Написал свой модуль taxonomy_combo_select. Он создаёт блоки для словарей таксономии.
После выбора иерархии и нажатия на кнопку Search происходит переход на страницу выбранного термина.

НО! После сабмита формы все контролы Hierarchical Select опять пустые Sad Я ожидал, что поля будут заполнены ранее выбранными значениями. Что делаю не так?

<?php
/**
 * hook_block()
 */

function taxonomy_combo_select_block($op = 'list', $delta = 0) {
  $vocabularies = taxonomy_get_vocabularies();
  switch($op) {
    case 'list':
      $blocks = array();
      foreach ($vocabularies as $vid => $vocabulary) {
        $blocks[$vid] = array(
          'info' => 'Taxonomy Combo Select ('.$vocabulary->name.')'
        );
      }
      return $blocks;
    case 'view':
      $block = array(
        'subject' => $vocabularies[$delta]->name,
        'content' => taxonomy_combo_select_block_content($delta),
      );
      return $block;
  }
}

/**
 * Creates the content with the links for a block for a specific vocabulary.
 *
 * @param int $vid The vocabulary id
 * @return string The content for the block.
 */

function taxonomy_combo_select_block_content($vid) {
  variable_set('taxonomy_vid', $vid);
  return drupal_get_form('taxonomy_combo_select_form');
}

/**
 * hook_form
 */

function taxonomy_combo_select_form($form_state) {
  $vid = variable_get('taxonomy_vid', 1);