Облачный сервис для Joomla сайтов
Навигация: Главная Форум

Добро пожаловать, Гость
Пожалуйста Вход или Регистрация.    Забыли пароль?

Доработка поиска по характеристикам
(1 чел.) (1) Гость
ВнизСтраница: 1
Сообщения темы: Доработка поиска по характеристикам
#5044
Доработка поиска по характеристикам 4 г. назад Репутация: 0
Всем привет, у меня такая проблема: есть поиск по характеристикам от Вертюмарта.
Он выдает все существующие типы товара, их параметры и значения и по этим параметрам можно осуществлять поиск . Как сделать так, чтобы не все подряд эти параметры товаров вылазили в форму поиска, а только определенные.
Что там можно допрограмировать?

И еще вопрос. При нажатии на ссылку поиск по характеристикам пользователь попадает на страницу shop.parameter_search, где предлагается выбрать тип товара, по которому осуществляется поиск и только после этого пользователь может перейти на страницу shop.parameter_search_form, где находятся параметры поиска.
Каким образом можно сделать прямой переход на форму поиск, минуя страницу shop.parameter_search.
runtel15
Постов: 2
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
 
#5052
Доработка поиска по характеристикам 4 г. назад Репутация: 0
Может кустарно, но нашла решение.

Но есть еще проблема, как изменить вид формы? Заменить поля множественного выбора на чекбоксы? В HTML это понятно как сделать, а в PHP я совсем не знаток...

Поясню конкретнее. В файле administrator/components/com_vertuemart/html/shop.parameter_search_form.php есть кусок кода стр. 293



Код:

if (!empty($parameter_values)) { // List of values
                    $fields=explode(";",$parameter_values);
                    echo "<td width=\"55%\" height=\"2\" valign=\"top\">\n";
                    echo "<select class=\"inputbox\" name=\"$item_name";
                    if ($db->f("parameter_multiselect")=="Y") {
                        $size = min(count($fields),6);
                        echo "[]\" multiple size=\"$size\">\n";
                        $selected_value = array();
                        $get_item_value = vmGet($_REQUEST, $item_name, array());
                        foreach($get_item_value as $value) {
                            $selected_value[$value] = 1;
                        }
                        foreach($fields as $field) {
                            echo "<option value=\"$field\"".(($selected_value[$field]==1) ? " selected>" : ">"). $field."</option>\n";
                        }
                    }
                    else {
                        echo "\">\n";
                        echo "<option value=\"\">".$VM_LANG->_('PHPSHOP_SELECT')."</option>\n";
                        foreach($fields as $field) {
                            echo "<option value=\"$field\"".(($get_item_value==$field) ? " selected>" : ">"). $field."</option>\n";
                        }
                    }
                    echo "</select>";



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


Код:

<select>
   <option>
   <option>
      ...
</select>



выполнялся тег


Код:

<input type="checkbox" name=" " value=" "> 



Я сделала во так:



Код:

echo "<input type=\"checkbox\" class=\"inputbox\" name=\"$item_name";
                    if ($db->f("parameter_multiselect")=="Y") {
                        $size = min(count($fields),6);
                        echo "00" ;
                        $selected_value = array();
                        $get_item_value = vmGet($_REQUEST, $item_name, array());
                        foreach($get_item_value as $value) {
                            $selected_value[$value] = 1;
                        }
                        foreach($fields as $field) {
                            echo "value=\"$field\"".(($selected_value[$field]==1) ? " selected>" : ">  "). $field."\n";
                        }
                    }
                    else {
                        echo "\">\n";
                        echo "<value=\"\">".$VM_LANG->_('PHPSHOP_SELECT')."\n";
                        foreach($fields as $field) {
                            echo "<value=\"$field\"".(($get_item_value==$field) ? " selected>" : ">"). $field."\n";
                        }
                    }
                    echo "00";  




Но проблема у меня в том, что select создается 1 раз, а <option> - столько раз, сколько значений в базе данных. А тег <input> должен тоже создаваться столько же раз сколько и <option>. А я не знаю как это прописать...
Помогите, пожалуйста, очень надо!
runtel15
Постов: 2
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Последнее редактирование: 20.09.2012 10:03 Редактировал runtel15.
Для добавления сообщений Вы должны зарегистрироваться или авторизоваться
 
ВверхСтраница: 1
Модераторы: Fidelity, Nikolia, cvetercom, Xemreht, mr.Hi-End
получить последние сообщения прямо на Ваш рабочий стол
Баннер