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

  • 15 Ответов
  • 493 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

sergeosn

  • ***
  • 70
  • 0
Всем здравствуйте! Нужна помощь !
Первоначальная задачка состояла в том чтоб в разделе "Характеристики" приделать индивидуальное описание к параметрам характеристик для каждого продукта. Т.е. есть к примеру характеристика:
Цвет (белый, синий, красный). Так вот нужна была возможность добавить описание к параметрам у одного продукта - белый (чисто белый), у второго - белый (нечисто белый) и т.д.. Если у кого будут идеи по сему поводу милости прошу  *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

  • ********
  • 9652
  • 929
Изменить вывод параметров характеристик с select на input checkbox, а дальше уже описание я б приделал.
как бы вы приделали описание в таком случае?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

sergeosn

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

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

*

dmitry_stas

  • ********
  • 9652
  • 929
дальше их обработка...
какая обработка?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

sergeosn

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

*

dmitry_stas

  • ********
  • 9652
  • 929
к тому что по моему мнению смена вывода вам мало чем поможет. зачем ее реализовывать, если она бесполезна будет?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

sergeosn

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

*

dmitry_stas

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

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

*

sergeosn

  • ***
  • 70
  • 0
понятно. ужос. имхо не оправдано по затратам. проще в названии опций (или в принципе использовать текстовую характеристику) писать белый (чисто белый), белый (нечисто белый) и т.д.
ничего не меняется. для 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

  • ********
  • 9652
  • 929
По поводу 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, 02:42:42 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

sergeosn

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

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

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

*

dmitry_stas

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

Под это все уже настроены фильтры
если нужны фильтры то конечно да, с группами вариант не подходит
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

sergeosn

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

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

Все равно спасибо!)

*

sergeosn

  • ***
  • 70
  • 0
Что-то я завтыкал)
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

  • ********
  • 9652
  • 929
ну если вывели, там где я предполагаю, то ловить в \administrator\components\com_jshopping\controllers\products.php function save()
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

sergeosn

  • ***
  • 70
  • 0
ну если вывели, там где я предполагаю, то ловить в \administrator\components\com_jshopping\controllers\products.php function save()
ТОЧНО! Спасибо! и ловится собственно $post['desc_1']