На днях когда делал магазин на ubercart столкнулся с такой проблемой, у меня было очень много опций у атрибута (более 600) , когда я у товара добавлял атрибут и заходил внутрь добавленого атрибута , все опции были уже включены, выключение всех атрибутов по одному было долго, а массовое отключение (чекбокс в заголовке у слова опции), занимало много времени так как там работал javascript.
Что бы решить данную проблему, я просто закомментировал запись в базу всех опции, при создании атрибута в функции uc_object_attributes_form_submit в модуле /sites/all/modules/ubercart/uc_attribute/uc_attribute.admin.inc на строке начиная со строки 718
вот кусок кода где это надо сделать
$attribute = uc_attribute_load($aid); /* foreach ($attribute->options as $option) { db_query("INSERT INTO $opt_table ($id, oid, cost, price, weight, ordering) VALUES ($sql_type, %d, %f, %f, %f, %d)", $form_state['values']['id'], $option->oid, $option->cost, $option->price, $option->weight, $option->ordering); } */ // Make the first option (if any) the default. $option = reset($attribute->options); if ($option) { $oid = $option->oid; } else { $oid = 0; }
Опубликовано: 26 апреля 2011
|
|