Почему я не могу сохранить значение этого поля выбора?([] квадратные скобки в поле выбора имени и идентификатора) - PullRequest
0 голосов
/ 07 ноября 2011

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

Я пытаюсь создать специальную форму расширенного поиска в Magento.По сути, у меня есть несколько полей выбора, и выбранные значения соответствуют значениям моего атрибута продукта Magento и добавляются к URL, поэтому, если у вас было поле выбора, подобное этому:

<select name="diameterange" id="diameterange">

      <option value=''<?php echo $_SESSION['post']['diameterange']=='all'?'selected="selected"':''; ?>>all</option>
      <option value='15'<?php echo $_SESSION['post']['diameterange']=='15'?'selected="selected"':''; ?>>Small</option>
      <option value='14'<?php echo $_SESSION['post']['diameterange']=='14'?'selected="selected"':''; ?>>Medium</option>
      <option value='13'<?php echo $_SESSION['post']['diameterange']=='13'?'selected="selected"':''; ?>>Large</option>

И если вы выбрали «Малый», URL-адрес будет таким:

http://mymagento.com/catalogsearch/advancedsearch/result/?diameterange=15

Вы можете видеть, что я повторяю значения так, что при загрузке страницы результатов пользователь видитта же самая форма поиска с их предварительно выбранными вариантами выше их новых результатов поиска.Это все работает отлично и прекрасно, за исключением одного атрибута, в частности - price[from].

Вот код для моего поля выбора price[from]:

<select name="price[from]" id="price[from]">

      <option value=''<?php echo $_SESSION['post']['price[from]']==''?'selected="selected"':''; ?>>from (all)</option>

      <option value='100'<?php echo $_SESSION['post']['price[from]']=='100'?'selected="selected"':''; ?>>from $100</option>

      <option value='200'<?php echo $_SESSION['post']['price[from]']=='200'?'selected="selected"':''; ?>>from $200</option>

      <option value='300'<?php echo $_SESSION['post']['price[from]']=='300'?'selected="selected"':''; ?>>from $300</option>

      <option value='400'<?php echo $_SESSION['post']['price[from]']=='400'?'selected="selected"':''; ?>>from $400</option>

      <option value='500'<?php echo $_SESSION['post']['price[from]']=='500'?'selected="selected"':''; ?>>from $500</option>

      <option value='600'<?php echo $_SESSION['post']['price[from]']=='600'?'selected="selected"':''; ?>>from $600</option>

      <option value='700'<?php echo $_SESSION['post']['price[from]']=='700'?'selected="selected"':''; ?>>from $700+</option>

  </select>

Это поле и его выбранное значениеработает правильно, так как добавление URL идет, и он даст вам правильные результаты, но я не могу заставить это поле выбора запоминать его значение, как я могу с другими атрибутами.Поэтому, если пользователь выбрал значение в этом поле, его выбор не был предварительно выбран в форме поиска на странице результатов поиска.

Я уверен, что это как-то связано с скобками []в поле выбора имя и идентификатор.Как я могу повторить выбранный выбор для этой конкретной коробки?

Спасибо

Ответы [ 2 ]

1 голос
/ 07 ноября 2011

Не уверен, как вы переводите свой $ _POST в сеанс, но, возможно, вы захотите попробовать изменить $_SESSION['post']['price[from]'] на $_SESSION['post']['price']['from']

1 голос
/ 07 ноября 2011

Наверное, должно быть

$_SESSION['post']['price']['from']

вместо этого. Вы можете проверить, выполнив var_dump($_SESSION['post']).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...