ezpublish.ru / Форумы / Для разработчиков / Передача параметров форме через url




Передача параметров форме через url

Для доступа к форумам необходимо авторизоваться. Это можно сделать здесь

Автор Сообщение

Александр Петров

Чт, 13 сентября 2007 6:26:22

Пытаюсь передать параметры через url форме в другом документе.
URL имеет следующий вид
<a href={concat("/some_url/","/(param1)/",$node.data_map.attr1.content,"/(param2)/",$node.data_map.attr2.class_content.options[$node.data_map.brand_name.value[0]].name)|ezurl}><img class="buy" src={"images/content/desc/buy.gif"|ezdesign} alt="" /></a>


Второй параметр берет данные из datatype ezselection.

Первый параметр передается в список, где он сравнивается с элементом и , в случае совпадения выводится опция selected для автоматического выбора элемента в списке.
<SELECT name="(filter)" size="1">
          {def $classAttribute=fetch( 'content', 'class_attribute', hash( 'attribute_id', 240 ) )}
              {def $options=$classAttribute.content.options}
                 {foreach $options as $option}
                   <option value="{$option.id}" {if eq($view_parameters.param1, $option.name|wash( xhtml )}selected{/if}>{$option.name|wash( xhtml )}</option>
                 {/foreach}
		       {undef $options}
             {undef $classAttribute}
        </SELECT>


Сравнение параметра и элемента не проходит, следовательно автоматического выбора не происходит.

Второй параметр передается в текстовое поле:
<input class="box" size="70" name="ContentObjectAttribute_ezstring_data_text_554" value="{$view_parameters.param2}" type="text">


Параметр передается (в html коде его видно) , но не отображается, причем если убрать атрибут name="" то отображается.

Подскажите пожалуйста , что я делаю не так?!

SeroMan SeroMan

Чт, 27 ноября 2008 17:14:04

Первое что бросается в глаза, это не закрытая скобка в части кода
{if eq($view_parameters.param1, $option.name|wash( xhtml )}
а должно быть:
{if eq($view_parameters.param1, $option.name|wash( xhtml ))}
А правильней сравнивать ID списка, так как имя может повторяться.

Сергей Гедеон

Пт, 28 ноября 2008 9:07:41

Для проверки грамотности синтаксиса можно включить дебаг и посмотреть ошибки

А по поводу передачи параметров через url - кроме стандартной возможности eZ view_parameters можно использовать также POST и GET параметры, обрабатываемые оператором ezhttp ( http://ez.no/doc/ez_publish/techn...ta_and_information_extraction/ezhttp ).

===----
Радоваться жизни можно тихо...
----====