|
|
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;
}
|