mnigma: Блог

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

Exposed form и submit #type = image_button лишние $_GET параметры

10 сентября в 15:24

Добрый день! Самому решить не удалось, прошу помощи!
Использую search api для поиска. Как обычно создал виевс, форму вынес в блок. В форме единственное поле text и кнопка. В общем все как обычно. И это работает.

Суть проблемы.
Понадобилось заменить кнопку на изображение.
Собственно hook_form_alter, $form['submit']['#type'] = 'image_button'; $form['submit']['#src'] = 'sites/all/themes/THEME/svg/but.svg';

0 Thanks

Отзывы пользователю

10 декабря 2010 в 1:22

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

Начал решать таким способом: Установил Content Profile, добавил тип материала - отзыв, добавил поле CCK -> User Reference -> Autocomplete text field и CCK - тип отзыва. Потом все это ловлю через hook_nodeapi(чтобы вычислить какой тип отзыва и приплюсовать или снять очки рейтинга) и hook_user(вывожу все отзывы пользователю). Так все работает, но!!!

Все, же хотелось сделать как-то покрасивее. Например скрыть поле User Reference с глаз в css и подставить туда параметр передаваемый _POST. Пробовал поставить значение по умолчанию, но CCK сразу кричит, что неверная запись:

$us_uid=$_POST['uid'];
return array(
  0 => array('uid' => $us_uid),
 );

Пробую так, тоже не работает:

function phptemplate_node_form($form) {
 if($form['#node']->type=="review") $form['field_review_web'][0]['#default_value']['uid']=18;
 return drupal_render($form);
}

Подскажите пожалуйста, как можно это дело отловить? Или укажите в чем моя ошибка. Может модуль все же есть.

0 Thanks

Вопросы по hook_user (Решено)

8 ноября 2010 в 19:08

Добрый вечер!
Прошу помощи, так как не пойму в чем ошибка.
Хукаю hook_user и возникли проблемы с событием insert.
Вот что есть:

function role_reg_user($op, &$edit, &$account, $category = NULL){
    switch($op){
        case 'register':
          $form['role_reg_user'] = array(
          '#type' => 'radios',
          '#title' => t('Вы регистрируетесь как'),
          '#required' => true,
          '#default_value' => 0,
          '#options' => array('Продавец', 'Покупатель'),
          '#weight' => 1);
           return $form;
       
        case 'insert':
        $ar=(int)$edit['uid'];
       
        if(isset($edit['role_reg_user']) && $edit['role_reg_user']=='0'){
            if(isset($ar) && $ar!="") db_query('INSERT INTO {users_roles} (`uid`, `rid`) VALUES ("%d", "%d")', $ar, 4);
            else  drupal_set_message($ar);
        }
    }
}

но в бд не происходит вставка, если переменной присвоить число, то все работает. drupal_set_message($ar) - выводит нормальный id если использовать вне if.
Кто знает, подскажите, какие переменные доступные при insert? $ar=(int)$edit['uid']; - эта запись получилась случайно. В API смотрел, примера не нашел с insert.
Заранее спасибо!

0 Thanks

Вставить в список таксономии поле cck

5 октября 2009 в 19:15

Здравствуйте!
Помогите решить проблему при создании нового документа:
Создал тип материала - добавить автомобиль, в таксономии для этого типа создано около 10 словарей:
Марка автомобиля, Модель...
Естественно при создании материала, они выводятся в одной группе (fieldset) - словари, а заказчик просит добавить поле (CCK) для ручного ввода между словарями. Подскажите кто сталкивался, как можно решить такую проблему?

Т.е. в конечном итоге, при создании материала, список должен быть таким:

0 Thanks

Добавить дополнительную информацию в объект $user

21 сентября 2009 в 9:08

Привет всем! Пришлось столкнуться с друпалом 5.х, пробую написать для него модуль, но как написано в книге, почему-то не работает. Подскажите пожалуйста, в чем ошибка.
Задание такое:

  1. Модератор добавляет пользователя вручную, при этом создается отдельная папка для данного пользователя и данные о расположении этой папки заносятся в отдельную таблицу.
  2. При входе пользователя нужно проверить, не присвоена ли ему эта отдельная папка. Если да, то добавить к объекту $user, дополнительные данные(путь к папке).

Набросал свой модуль, в котором пытаюсь хукнуть функцию $user:

<?php 
function addlinkpatch_user($op, &$edit, &$user) {
global 
$user;
  if (
$op == 'login') {
    
$sql=db_query("SELECT ....
    if (
$sql!=""){$patchuser=array('uspatch'=>t('$sql')); $user_save($user,$patchuser);}
         else 
{$patchuser=array('uspatch'=>t('nopatch')); $user_save($user,$patchuser);}
# и так еще пробую    
  if (
$sql!=""){$user->roles['addlinkpatch']=$sql;}else {$user->roles['addlinkpatch']="nopatch";}
  }
}?>

Может кто сталкивался с таким вопросом, подскажите, что делаю не так?

0 Thanks

Добавление материала анонимным пользователем

15 сентября 2009 в 17:31

Добрый день! Подскажите пожалуйста, как разрешить неавторизированним пользователям добавлять определенные типы материала? Пошерстил по поисковикам, почитал темы, но толком ничего не нашел. Подскажите как создать хук, с какой функцией бороться?

0 Thanks

Помогите с названием модуля

6 августа 2009 в 20:15

Добрый вечер. Подскажите пожалуйста название модуля, который бы выводил ссылки на все страницы сайта на одной странице, вместо 9 с ... и следующая › последняя ». Вот пример на сайте fishki.нет
Спасибо!

0 Thanks