Form API, мтод GET, получить и сгенерировать страницу

Прислано: airam

пн, 21/02/2011 - 07:58

Другие статьи по теме:

Образец кода


<?php
// $Id$

/** * Implementation of hook_menu(). */

function testo_menu() {
    
$items['admin/settings/testget'] = array(
        
'title' => 'GET GET GET',
        
'page callback' => 'testget_plugin',
        
'page arguments' => array(),
        
'page arguments' => array('annotate_admin_settings'),
        
'access arguments' => array('administer site configuration'),
        
'type' => MENU_NORMAL_ITEM,
    );
    return 
$items;
}



function 
testget_plugin(){
    
$output drupal_get_form('testget_plugin_form',"34");
    
$testget $_GET['testget'];
    
$output.="<br/>".$testget;
    return 
$output;
}

function 
testget_plugin_form() {
    
$form = array(
        
'#method' => 'get',
    );
    
$form['testget'] = array(
        
'#type' => 'select',
        
'#title' => "цвет",
        
'#default_value' => 'all',
        
'#options' => array(
            
'all' => 'любой',
            
'steel' => 'Стальной',
            
'red' => 'Красный',
            
'black' => 'Черный',
        ),
    );
    
$form['submit'] = array(
        
'#type' => 'submit',
        
'#value' => 'Отправить'
    
);
    return 
$form;
}
?>

Ума не приложу как обозначить выбор..
Что бы бы при выборе black — на странице (с данными в адресной строке) у формы был выбран «Черный»

Form API, мтод POST, получить и сгенерировать страницу

Прислано: airam

вт, 02/11/2010 - 06:55

Другие статьи по теме:

Популярный вопрос, но ни в одном топике не нашел устраивающий ответ..

Как отправить из формы данный методом POST (в закрытую) на страницу, что бы при ее генерации сделать выборку данных?

Отправлю данные методом GET - все приходит, правда с кучей друпаловского мусора..
отправляю методом POST - ничего не доходит..
Создаю на странице модуля вручную форму с методом POST - все доходит..

Как можно, создав форму через Forms API, передать данные на страницу методом POST и на их основе вывести информацию?

Теги в элементах меню

Прислано: airam

ср, 13/10/2010 - 00:27

Мне нужно вставить теги в пункте меню, что бы он выглядел как

  • Пункт
    меню
  • Вставляю теги в заголовок страницы, но друпал упорно убирает оттуда теги..
    Где находится функция, которая обрабатывает меню перед выводом?

    пользуюсь модулем Menu_block

    Конфликты в Menu_block

    Прислано: airam

    пт, 08/10/2010 - 05:45

    Другие статьи по теме:

    Структура меню

    (1)
    - (1)
    --- (2)
    --- (3)

    как видно, ссылка на первом и втором уровне ссылается на одну и ту же страницу..

    В плагине настроен вывод меню начиная с третьего уровня..
    так как первые два выводятся с помощью примари и секондари линк..

    в данном случае при выборе страницы (1) не отображается меню третьего уровня с ссылками на страницы (2) и (3)..
    судя повсему, потому что она считает страницу (1) только первого уровня и страницы третьего за прямых потом не принимает..

    в случае выбора страницы второго и третьего уровня проблемы не возникает..

    Кто сталкивался и как решил подобную ситуацию?

    Надо сказать что хотя плагин и шикарно работает, случаются ситуации когда он не может справиться со структурой меню и начинает терять связи между родителями и детьми.. случается это в процессе обновления и изменения на сайте в пунктах меню..

    Битая кириллица при отправке писем..

    Прислано: airam

    пт, 15/01/2010 - 09:37

    Другие статьи по теме:

    Порядком уже мучаюсь..

    Создал форму с помощью модуля Webform.
    Но при отправке сообщения выскакивает ошибка:
    warning: mb_send_mail() [function.mb-send-mail]: Unsupported charset "UTF-8;" - will be regarded as ascii in /usr/local/www/adrestelefon/includes/mail.inc on line 193.

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

    Сайт изначально поднят на WindowsXP, потом перезалит на unix..
    В чем проблема непонимаю.. то ли на unix чего то нехватет.. то ли в файлах кодировка не та.. они под win-1251..

    на unix серваке параллельно стоит сайт на руби - там с отправкой писем в кририллице все нормально..

    Куда копать?
    drupal 6

    мультиязычность

    Прислано: airam

    вт, 05/05/2009 - 06:22

    Включена мультиязычность.
    Язык определяется префиксом пути..
    Нужно что бы при переходе на главную страницу автоматически устанавливался базовый язык - те убирался префикс пути..
    Можно это реализовать стандартными средствами или Дописать на php?
    Главная страница генерится в модуле..

    русификация

    Прислано: airam

    чт, 19/03/2009 - 06:18

    Другие статьи по теме:

    Проблема..
    ставлю модуль album photos.. уже и русификатор есть, а часть фраз все равно по английски..
    в какую сторону копать? уже и принудительно заливал русификатор.. и пытался корректировать вручную.. и модуль перезапускал.. разве что не переустанавливал - но мне не хотелось бы потом заново галереи загружать..
    что посоветуете?

    передача переменных элементам формы

    Прислано: airam

    ср, 24/12/2008 - 06:18

    Другие статьи по теме:

    <?
    function search_menu() {
    $items['key_search'] = array(
    	'title' => t('Поиск'),
    	'page callback' => 'search',
    	'access callback' => TRUE,
    	'type' => MENU_NORMAL_ITEM,
    );
    return $items;
    }
    function search($sword=''){
    	$output= drupal_get_form ('ats_search_form',$sword);
    	return $output;
    }
     
    //обработка нажатия клавиши
    function ats_search_form_submit($form, &$form_state) {
    	$name = $form_state['values']['search_word'];
    	$form_state['redirect'] = $base_path.'key_search/'.$name;
    }
     
    // форма поиска
    function ats_search_form($context, $word) {
    	$form['search_word'] = array(
    	'#value' => $word,
    	'#type' => 'textfield',
    	'#description' => t('Введите ключевое слово для поиска.'),
    	);
    	$form['submit'] = array(
    	'#type' => 'submit',
    	'#value' => t('найти')
    );

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

    язык текущей страницы

    Прислано: airam

    чт, 18/12/2008 - 05:24

    Другие статьи по теме:

    есть модуль Locale..
    с его помощью можно переводить интерфейс друпала..
    если поставить в его настройках определение языка по префиксу пути - то появится возможность поднять сайт с префиксами различных языков - содержимое будет меняться в зависимости от этого префикса..

    Вопрос: как определить какой язык активен в данный момент со стороны модуля?
    или как прочесть адрес текущей страницы что бы определить префикс и самому вычислить язык?
    ($_GET['q'] - возвращает адрес страницы без префикса и адреса самого сайта)

    хук, тайтлы и 34000 записей

    Прислано: airam

    чт, 11/12/2008 - 07:46


    пишу модуль..

    в хуке определял путь страницы, ее тайтл и функцию, генерющую содержание..
    Почему я так делаю? - потому что что мне важны тайтлы у этих страниц..

    все было хорошо покуда я в базу не залил 34000 записей..
    друпал крякнул и пожаловался на нехватку памяти..
    выделил ему память.. он пожаловался что мало времени..
    дал много времени - отклика никакого..

    думаю все равно это не выход, тк так долго ждать при каждом обращении к модулям - не дело..

    какие можете предложить способы решения?
    адреса выглядят как ноды 'page/32452'

    можно в вызываемой функции переопределять тайтл страницы?

    Поисковая форма и вывод результата

    Прислано: airam

    вт, 09/12/2008 - 02:36

    Другие статьи по теме:

    хочу написать свой собственный поиск по отдельной таблице данных..
    с созданием формы - никаких проблем..
    а вот с перехватом отправленных данных - проблема..

    1) как взять данные отправленные методом Post и создать на их основе страницу(просто дописать отправленные данные ниже формы)?
    2) альтернативная мысль.. как при нажатии кнопки сделать переадресацию на сгенеренный адрес? (типа метода get)

    fast gallery

    Прислано: airam

    чт, 04/12/2008 - 04:33


    Галерею создал, но в ней не отображаются фотографии..
    очищал базу, жал рескан, менял путь к папке с изображениями (клал и в корень и в модуль) - результат все тот же..
    пишет:
    EXIF data not supported on your host.
    что это может быть?

    рекурсия в хуке

    Прислано: airam

    пн, 24/11/2008 - 08:17

    Другие статьи по теме:

    в модуле строю дерево категорий..
    сколько колен заранее не известно - для этого думаю рекурсию..
    создал отдельную функцию но не могу сделать так что бы сгенереные там переменные дописывались в хук меню..
    пробовал уже без рекурсии и с глобальной переменной

    global $items;
    function my_menu() {
    tree();
    }
    function tree() {
    $items['mymeny/page'] = array(
    'title' => 'Page1',
    'description' => 'Three page',
    'page callback' => 'system_admin_menu_block_page',
    //'access arguments' => array('administer site configuration'),
    'access callback' => TRUE,
    'file' => 'system.admin.inc',
    'file path' => drupal_get_path('module', 'system'),
    'type' => MENU_NORMAL_ITEM,
    );
     
    }

    drag and drop в шаблоне

    Прислано: airam

    вт, 30/09/2008 - 05:26

    Другие статьи по теме:

    сделал шаблон.. оформил..
    но в итоге заметил что в нем не работают модули.. на странице блоков и меню пропал drag and drop..
    wysiwyg фенечка на окнах ввода текста тоже пропадает..
    о какой части шаблона я забыл?
    ...
    Модули то работают.. но эти элементы в моем шаблоне просто не отображаются..
    Вроде бы это перменная контента.. но что то ей нехватает..

    функция для изменения меню в блоках

    Прислано: airam

    вт, 16/09/2008 - 11:43

    Другие статьи по теме:

    При переработке шаблона понадобилось изменить классы для меню(навигации) в блоке..
    даже сам способ в принципе нашел- создал файл block.tml.php
    вписал в нем

      <h1><?php print $block->subject ?></h1>
      <?php print $block->content ?>

    понадобилось заменить классы, тк друпал по умолчанию ставит под свои css, а победить их в этом шаблоне у меня не получилось..
    поэтому лезу в template.php и дописываю
    function phptemplate_menu_item($link, $has_children, $menu = '', $in_active_trail = FALSE, $extra_class = NULL) {
      return '<li>'. $link . $menu ."</li>\n";
    }

    у меня все предопределено дивами..
    и вот в чем проблема! - он ставит

    подскажите где это предопределяется и можно изменить..

    RSS-материал

    Новое на сайте

    Ссылки партнёров