Форум русской поддержки Joomla!® CMS
09.12.2016, 15:40:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Изменить вывод характеристик в админке

 (Прочитано 385 раз)
0 Пользователей и 1 Гость смотрят эту тему.
sergeosn
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 70


« : 15.08.2015, 16:45:26 »

Всем здравствуйте! Нужна помощь !
Первоначальная задачка состояла в том чтоб в разделе "Характеристики" приделать индивидуальное описание к параметрам характеристик для каждого продукта. Т.е. есть к примеру характеристика:
Цвет (белый, синий, красный). Так вот нужна была возможность добавить описание к параметрам у одного продукта - белый (чисто белый), у второго - белый (нечисто белый) и т.д.. Если у кого будут идеи по сему поводу милости прошу  drink

Переиграв и поразмыслив попытался сделать следующее:
Изменить вывод параметров характеристик с select на input checkbox, а дальше уже описание я б приделал.

Но вот загвоздка. к примеру тут \administrator\components\com_jshopping\controllers\products.php
вместо $obj->values = JHTML::_('select.genericlist', array_merge($f_option, $tmp), $name, '', 'id', 'name', $product->$name);
я бы поставил эти чекбоксы, но тогда не знаю как отиграть чтоб они еще сохранялись по старой системе. т.к. у каждого селекта есть свой id и name а также набор значений. и если ставить инпуты то с какими id и name ?

Если капнуть дальше, если я правильно понял то сохранение происходит в этом же файле кодом:
Код:
        if (isset($post['productfields']) && is_array($post['productfields'])){
            foreach($post['productfields'] as $productfield=>$val){
                if (is_array($val)){
                    $post[$productfield] = implode(',', $val);
                }
            }
        }

Так вот финал) Вопрос: помогите пожалуйста, как правильно задать имена интпутам чекбоксам, и соответсвенно поменять метод сохранения?)
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7778



« Ответ #1 : 15.08.2015, 17:26:34 »

Изменить вывод параметров характеристик с select на input checkbox, а дальше уже описание я б приделал.
как бы вы приделали описание в таком случае?
Записан
sergeosn
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 70


« Ответ #2 : 15.08.2015, 17:35:34 »

как бы вы приделали описание в таком случае?
Добавил бы соответствующие инпуты текстовые, а дальше их обработка...

Вы можете подсказать как реализовать смену вывода?
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7778



« Ответ #3 : 15.08.2015, 17:44:56 »

дальше их обработка...
какая обработка?
Записан
sergeosn
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 70


« Ответ #4 : 15.08.2015, 17:47:47 »

какая обработка?
Не совсем понимаю Ваших вопросов. К чему они если нет реализации смены вывода?
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7778



« Ответ #5 : 15.08.2015, 19:35:03 »

к тому что по моему мнению смена вывода вам мало чем поможет. зачем ее реализовывать, если она бесполезна будет?
Записан
sergeosn
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 70


« Ответ #6 : 16.08.2015, 00:51:41 »

к тому что по моему мнению смена вывода вам мало чем поможет. зачем ее реализовывать, если она бесполезна будет?
Поможет. Если вы знаете как буду признателен.
А далее через добавление новой таблицы завязанной на параметрах характеристик и продукта уже можно будет добавлять нужные значения. а на выходе где надо считывать то что надо.
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7778



« Ответ #7 : 16.08.2015, 01:04:57 »

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

Вопрос: помогите пожалуйста, как правильно задать имена интпутам чекбоксам, и соответсвенно поменять метод сохранения?)
ничего не меняется. для input type="checkbox" name останется таким же ( productfields['extra_field_'.$v->id][] ), ид любой, не особо важен, сохранение не меняется вообще. учтите однако, что для $v->multilist!=1 вам нужен не checkbox, а radio
Записан
sergeosn
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 70


« Ответ #8 : 16.08.2015, 01:28:22 »

понятно. ужос. имхо не оправдано по затратам. проще в названии опций (или в принципе использовать текстовую характеристику) писать белый (чисто белый), белый (нечисто белый) и т.д.
ничего не меняется. для input type="checkbox" name останется таким же ( productfields['extra_field_'.$v->id][] ), ид любой, не особо важен, сохранение не меняется вообще. учтите однако, что для $v->multilist!=1 вам нужен не checkbox, а radio

Через таблицу конечно да хлопотно выходит.

По поводу текстовой характеристики попробую. Но в названии опций не вариант т.к. менеджер(или администратор или неважно) должен будет под каждый товар вбивать своё описание. Но к примеру белый будет присутствовать у всех товаров.

По поводу name ( productfields['extra_field_'.$v->id][] ) Это получается у селекта сейчас к примеру productfields[extra_field_1][] и в нем набор опций, а будет набор  input type="checkbox" с одним и тем же именем?
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7778



« Ответ #9 : 16.08.2015, 01:33:56 »

По поводу name ( productfields['extra_field_'.$v->id][] ) Это получается у селекта сейчас к примеру productfields[extra_field_1][] и в нем набор опций, а будет набор  input type="checkbox" с одним и тем же именем?
да, с одним name="productfields[extra_field_1][]" и разными value

P.S. может вам пойти по другому пути - использовать группы характеристик, и просто изменить в шаблоне вывод? Группа - Цвет. Характеристики (текстовые) - Белый, Черный, etc. Опции характеристик (задаются в каждом товаре) - это и есть чисто белый, нечисто белый, и т.д. А в шаблоне поменяете вывод, и будете выводить группу характеристик как название характеристики, название характеристик - как ее опции, а собственно значения характеристик - как индивидуальные описания.
« Последнее редактирование: 16.08.2015, 01:42:42 от dmitry_stas » Записан
sergeosn
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 70


« Ответ #10 : 16.08.2015, 19:11:21 »

 Cheesy все получилось с инпутами и вроде как работает, сохраняет спасибо! Cheesy
Только не пойму, в селекте была опция "---" с значением "0", которая я так понял тянулась из массива $f_option. Её я опустил, и без неё чудесно работает. Нужна ли она, опция с value='0'?

По поводу $v->multilist!=1 я наверное чтоб не заморачиваться еще с радио, оставлю для этого варианта селект старый. А чекбоксы впилю в условие $v->multilist==1 .

По поводу Вашего последнего предложения обыграть задачу. Думаю не совсем это подойдет т.к.:
1. Приведу другой пример. Есть товар. Есть характеристики - группы "Аквазона, Зоны отдыха, ..."  в каждой группе свои опции "Бассейн, Джакузи" или "Камин, Тренажеры". К ним и надо приделать доп.описание. которое будет вводить человек и для каждого товара в опции "Бассейн"  к примеру будет стоять "размер 25м" или "размер 30м" или всё что угодно что он там введет.
2. Под это все уже настроены фильтры. А доп. описание это будет просто как к примеру тайтл.
Как-то так)
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7778



« Ответ #11 : 16.08.2015, 21:44:20 »

Нужна ли она, опция с value='0'?
не помню до конца как там реализовано. если получается сбросить выбранные чекбоксы, то нет, не нужна

Под это все уже настроены фильтры
если нужны фильтры то конечно да, с группами вариант не подходит
Записан
sergeosn
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 70


« Ответ #12 : 16.08.2015, 23:59:23 »

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

Ааа, так это для сброса опций. так тут и скриптом на крайняк можно сделать.

Все равно спасибо!)
Записан
sergeosn
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 70


« Ответ #13 : 18.08.2015, 23:17:05 »

Что-то я завтыкал)
Dmitry_stas подскажите пожалуйста, добавил я все необходимые поля, вывел т.к. надо в админке и...
и получается формируется страница:
Код:
<form action="index.php?option=com_jshopping&amp;controller=products" method="post" enctype="multipart/form-data" name="adminForm" id="adminForm">
...
<input type="text" value="" name="desc_1">
...
</form>

Получается после ввода текста в инпут и нажатия "сохранить товар", субмируется форма и медотом post я поидее должен ловить теперь свой инпут $_POST['desc_1'];
Но вот Вопрос где его ловить?) в файле контрольки products что-то не ловится - не в целом в файле, не в конструкторе и не в функции отвечающий за вывод характеристик _getHtmlProductExtraFields. Пробовал потыкатся в других файлах не контроля, результата 0.
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7778



« Ответ #14 : 18.08.2015, 23:40:54 »

ну если вывели, там где я предполагаю, то ловить в \administrator\components\com_jshopping\controllers\products.php function save()
Записан
sergeosn
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 70


« Ответ #15 : 19.08.2015, 00:17:54 »

ну если вывели, там где я предполагаю, то ловить в \administrator\components\com_jshopping\controllers\products.php function save()
ТОЧНО! Спасибо! и ловится собственно $post['desc_1']
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet