Добавить вывод модуля в блок - PullRequest
1 голос
/ 13 декабря 2011

У меня есть модуль, который отвечает за обработку специальных продуктов в Ubercart (наборы продуктов). Модуль отвечает за создание набора продуктов на лету на основе выбора, сделанного пользователем. Я использовал функцию ниже в моем файле uc_bundle_manager.module. Я не могу понять, как сделать вывод в моей теме (как блок). Я не уверен, как получить доступ или создать переменную $ vars, чтобы ее можно было использовать в моем шаблоне. В настоящее время функция просто возвращает идею узла о правильном наборе продуктов (это отлично работает в моем отладочном выводе). Любая помощь очень ценится. спасибо!

function clothing_filter_form_submit($form, &$form_state)
{
    /*--Form Values--*/
    $vals = array($form_state['values']['shirt'],$form_state['values']['hoodie'],$form_state['values']['hats']);
    /*--DB isn't setup for this relationship. Maybe a better SQL query is better but TODO--*/
    $sql = "SELECT nid, product_id FROM uc_product_kits";
    $result = db_query($sql);
    while($row = mysql_fetch_assoc($result))
    {
        $rid = $row['nid'];
        $bundles[$rid][] = $row['product_id'];
    }
    foreach($bundles as $key => $bundle)
    {
        $count = 0;
        foreach($vals as $val)
        {
            if(in_array($val,$bundle))
            {
                $count++;
            }
        }
        //--If we match 3 items--//
        if($count == 3)
        {
            $selected_bundle = $key;
        }
    }
    return $selected_bundle;
}

1 Ответ

1 голос
/ 13 декабря 2011

Вам потребуется использовать функцию hook_block_info () для генерации блока. Я предполагаю, что вы используете d7.

Ниже приведен пример кода

/**
* Implements hook_block_info().
*/
function trails_block_info() {
 $blocks['history'] = array(
'info' => t('History'),
'cache' => DRUPAL_NO_CACHE,
 );


 return $blocks;
 }

Cheers, Вишал

...