Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Добавить вараинт товара с автоматическим заполнением некоторых полей родительскими значениями.

25.01.2012, 13:58
Борис

Зарегистрирован:
2012-01-25
Сообщений: 3

Кто знает как лучше провернуть следующее:

Есть товар, у него есть кучу характеристик разделенных на 3 блока.
Первые два блока для товара родителя и дочернего товара одинаковы, третий блок отличается.

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

Думаю: пока в голове только крутится переделать функции nc_string_field и т.д. чтоб автоматом подставлялись parent характеристики. Есть менее кардинальные варианты, может это предусмотрено в системе?
25.01.2012, 18:52
resident
Веб-группа «Дабл Ю»

Зарегистрирован:
2005-01-10
Сообщений: 336

перед формой добавления
$row=$db-get_row("SELECT Field1,Field2,Field3 FROM Message$classID WHERE Message_ID=$parent",ARRAY_N);
eval("list($f_Field1,$f_Field2,$f_Field3)=$row;");
значения $f_Field сами подставятся в форму
26.01.2012, 13:42
Борис

Зарегистрирован:
2012-01-25
Сообщений: 3

Может у меня что-то по другому работает, но чтоб они подставились, нужно было еще один параметр передать в функцию генерации поля. Получилось примерно следующее:

Перед формой добавил:
";

$row = $db->get_row('SELECT Brend FROM message'.$classID.' WHERE Message_ID='.$f_Parent_Message_ID,ARRAY_N);

list($f_Brend)=$row;

echo "

В самой форме при воде поля:

Бренд:".nc_list_field("Brend", "", $classID, 0, $f_Brend)."

Проблема решена, спасибо за своевременную помощь.
26.01.2012, 14:09
Борис

Зарегистрирован:
2012-01-25
Сообщений: 3

Чуть чуть поменял php код чтоб отделить мух от котлет:

Код:

//Массив с полями для автоматического заполнения
$fields_name_array = array(
'Name',
'ItemID',
'Brend',
'BrendCategory',
'Selective',
'Industry',
'Year',
'OriginCountry',
'NameOfCreator',
'Sex',
);

//Значение полей родительского товара
$row = $db->get_row('SELECT '.implode(',', $fields_name_array ).' FROM message'.$classID.' WHERE Message_ID='.$f_Parent_Message_ID,ARRAY_N);

//Генерируем переменные для шаблона со значениями полей
foreach ($row as $variable_key => $variable_value)
{
$variable_name = 'f_'.$fields_name_array[$variable_key];
$$variable_name = $variable_value;
}

198 196 2012-01-26 14:09:21 11854
Описание проекта