smartchecker: Блог

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

Forms API. timestamp из базы пропихнуть на форму. Как?

9 декабря 2011 в 13:21

Есть в базе поле в виде timestamp (2011-08-03 17:11:38.288978).
Нужно его выпихнуть на форму через forms api.
Естественно такой кусок работает не так как мне надо.

        $form['request_date'] = array(
            '#title' => t('Дата Заявки'),
            '#type' => 'date',
            '#description' => t('Задайте дату заявки'),
            '#default_value' => array(
                'year' => $request ? format_date($request->request_date,'custom', 'Y') : format_date(time(), 'custom', 'Y'),
                'month' => $request ? format_date($request->request_date,'custom', 'n') : format_date(time(), 'custom', 'n'),
                'day' => $request ? format_date($request->request_date,'custom', 'j') : format_date(time(), 'custom', 'j'),
            )
        );

На форму можно выложить как '#type' => 'date', так и '#type' => 'date_popup'.
Основная задача установить в этот контрол дату из базы.

Формат ввода комментария. Как запретить FullHTML?

26 августа 2011 в 16:15

Есть свой тип материала, к которому анонимусы могут писать комментарии.
Как запретить вводить FullHTML?

Views. Добавить линк на алиас ноды. Как?

24 августа 2011 в 15:54

Сделал новый тип материала, чтобы потом по нему построить view'ху.
Нужно сделать обыкновенную view'ху куда выводится тизер и линк на саму ноду.
Только линк нужен на то, что формирует pathauto, а не node/bla-bla.
Что-то с ходу не вижу. Как?

Вещание с ip камер на сайт. Как?

16 августа 2011 в 14:33

Есть несколько ip камер, которые отдаются по RSTP.
Как их выставить на сайт?
Поток от камеры нормально смотрится через VLC.

Splash screen. Какой модуль правильнее?

27 июля 2011 в 16:14

Мне нужно при заходе на сайт показать некое объявление и потом сделать переход на основной сайт.
Чем это правильнее делать?

Views exposed filters. date_popup значение по-умолчанию. Как?

19 июля 2011 в 18:26

Есть два поля

    function value_form(&$form, &$form_state) {

        $date_format = 'Y-m-d';

        $form['value']['from_date'] = array(
            '#title' => t('От'),
            '#type' => 'date_popup',
            '#date_format' => $date_format,
            '#description' => t('Дата начала периода'),
            '#date_year_range' => '-3:+0',
            '#default_value' => array(
                'year' => format_date(time(), 'custom', 'Y'),
                'month' => format_date(time(), 'custom', 'm'),
                'day' => format_date(time(), 'custom', 'd'),
            ),
        );

        $form['value']['to_date'] = array(
            '#title' => t('До'),
            '#type' => 'date_popup',
            '#date_format' => $date_format,
            '#description' => t('Дата конца периода'),
            '#date_year_range' => '-3:+0',
            '#default_value' => array(
                'year' => format_date(time(), 'custom', 'Y'),
                'month' => format_date(time(), 'custom', 'm'),
                'day' => format_date(time(), 'custom', 'd'),
            ),
        );

        return form;
    }

Как запихать значения по-умолчанию, чтобы они сразу отображались в окне ввода даты?
А то изначально там пусто.

Переход на страницу при входе. Как?

19 июля 2011 в 17:06

Как сделать автоматический переход при логоне определённого юзера?
И как ему же не показывать меню "My account"?

Views API. Exposed filters. Переименовать кнопку. Как?

19 июля 2011 в 15:33

Как изменить надпись на кнопке Apply?
И как добавить кнопку "Сброс" с соотв. функционалом?

Загрузить view'ху в menu tab. Как?

19 июля 2011 в 15:07

Есть меню модуля. Описано так.

        $items['journal-of-requests'] = array(
            'title' => 'Заявка в диспетчерскую службу',
            'page callback' => 'drupal_get_form',
            'page arguments' => array('journal_of_requests_form'),
            'type' => MENU_NORMAL_ITEM,
            'access arguments' => array('add request'),
        );

        // форма добавления заявки
        $items['journal-of-requests/add'] = array(
            'title' => 'Новая заявка',
            'access arguments' => array('add request'),
            'type' => MENU_DEFAULT_LOCAL_TASK,
            'weight' => 1,
        );

    if (user_access('view journal')) {
       // список заявок
        $items['journal-of-requests/list'] = array(
            'title' => 'Журнал заявок',
            'page callback' => 'journal_of_requests_list',
            'type' => MENU_LOCAL_TASK,
            'access arguments' => array('view journal'),
            'weight' => 2,
        );
    }

Как в этой ф-ции journal_of_requests_list() загрузить определённую view'ху?

FormsAPI. Разные MENU_DEFAULT_LOCAL_TASK в зависимости от permissions

18 июля 2011 в 11:05

Как сделать разные MENU_DEFAULT_LOCAL_TASK в зависимости от permissions и разное количество MENU_LOCAL_TASK?

Forms API. Разное количество tab'ов в зависимости от роли. Как?

17 июля 2011 в 17:10

Как сделать разное количество tab'ов для разных ролей?
И как сделать разные табы дефолтными для разных ролей?

[РЕШЕНО] Views. Как в handler'е одного поля получить текущее значение другого?

21 июня 2011 в 20:21

Делаю поле, которое вычисляется из другого.
Как добраться до текущего значения другого поля?

views. exposed filters. Сброс фильтров.

21 июня 2011 в 14:06

Как сделать кнопку сброс всех exposed фильтров?
И второй вопрос как на конкретной кнопке написать вместо Apply, допустим "Отфильтровать"?

Views exposed filter дата и popup календарь в качестве контрола. Как сделать?

21 июня 2011 в 14:00

Мне нужно дать возможность пользователю фильтровать заявки по дате.
Должно быть два поля "От" "До". В качестве control'ов для этих полей должны быть popup календари.
Т.е. юзер ткнул в календарь и выбрал дату.
Как это реализовать?

[РЕШЕНО] Как написать views'у фильтр.

19 июня 2011 в 11:47

Есть запрос, который выдаёт то, что мне надо.

SELECT j.rid, to_char(j.request_date, 'DD-MM-YYYY') AS request_date, request_type.type, request_object.obj_name,
                   j.request_org, j.request_person, j.request_phone, j.request_point, request_state.state_name
FROM journal_of_requests AS j
           JOIN request_type ON request_type_id = rtid
           JOIN request_object ON request_object_id = oid
           JOIN request_state ON request_state_id = sid
WHERE j.request_object_id IN (SELECT rop.oid FROM request_object_perm AS rop WHERE rop.uid=".$user->uid.")
ORDER BY j.rid

Views'у через views api я описал свою таблицу journal_of_requests, соотв. могу вытащить поля.

Как сделать вот этот фильтр по пользователю?

WHERE j.request_object_id IN (SELECT rop.oid FROM request_object_perm AS rop WHERE rop.uid=".$user->uid.")

views_handler_field_date и postgres

17 июня 2011 в 18:23

Есть у меня поле в Postgres базе

request_date      | TIMESTAMP WITHOUT TIME zone | NOT NULL DEFAULT now()

В модуле пишу так и ставлю формат во вьюхе d-m-Y

    $data['journal_of_requests']['request_date'] = array(
        'title' => t('Дата заявки'),
        'help' => t('Дата подачи заявки'),
        'field' => array(
            'handler' => 'views_handler_field_date',
            'click sortable' => TRUE,
        ),
        'sort' => array(
            'handler' => 'views_handler_sort_date',
        ),
        'filter' => array(
            'handler' => 'views_handler_filter_date',
        ),
    );

Выводит 01-01-1970 вместо нормальной даты.

Вот так достаёт правильно

SELECT to_char(j.request_date, 'DD-MM-YYYY') AS request_date  FROM journal_of_requests AS j

Как объяснить views'у что он не прав?

Как для определённых юзеров убрать пункт My Account в меню?

7 июня 2011 в 14:09

Как для определённых юзеров убрать пункт My Account в меню?

Forms API. Как сдалать такую форму.

22 мая 2011 в 2:44

Как описать такую форму?

Таблицу отдельно вывести могу. Форму отдельно тоже.
А как их разместить в одном месте?

[РЕШЕНО] Forms API. Не могу понять почему не вызывается функция.

22 мая 2011 в 0:37
function journal_of_requests_menu()
    $items['admin/journal-of-requests'] = array(
        'title' => 'Журнал заявок',
        'description' => 'Настройка журнала заявок',
        'position' => 'right',
        'weight' => -5,
        'page callback' => 'system_admin_menu_block_page',
        'access arguments' => array('administer site configuration'),
        'file' => 'system.admin.inc',
        'file path' => drupal_get_path('module', 'system'),
    );

    $items['admin/journal-of-requests/settings'] = array(
        'title' => 'Настройки',
        'description' => 'Здесь задаются значения для полей по-умолчанию',
        'page callback' => 'drupal_get_form',
        'page arguments' => array('journal_of_requests_admin_settings_page'),
        'access arguments' => array('administer site configuration'),
        'weight' => -15,
        'type' => MENU_NORMAL_ITEM,
        'file' => 'journal_of_requests.admin.inc',
    );

    $items['admin/journal-of-requests/data'] = array(
        'title' => 'Таблицы журнала заявок',
        'description' => 'Здесь настраиваются таблицы.',
        'page callback' => 'journal_of_requests_admin_form_request_types',
        'access arguments' => array('administer site configuration'),
        'weight' => -10,
        'type' => MENU_NORMAL_ITEM,
        'file' => 'journal_of_requests.admin.inc',
    );

    $items['admin/journal-of-requests/data/list'] = array(
      'title' => 'Типы заявок',
      'access arguments' => array('administer site configuration'),

Forms API. Права доступа. Как?

19 мая 2011 в 11:42

Есть несколько видов юзеров
1. простые - не должны видеть ничего, что относится к этой форме.
2. катерогия 1 - должна видеть только часть полей формы и один из выпадающих списков на форме заполняется
на основании имени пользователя(или имени роли). В журнале, в который заносятся записи после заполнения формы
видит только свои записи и может их редактировать, но не удалять.
3. администратор журнала - видит записи всех пользователей и может их редактировать и удалять, но ничего не может
делать с сайтом.

FormsAPI. Как передать поля формы во views?

19 мая 2011 в 10:51

Как передать поле формы во views, чтобы потом можно было строить свои представления?