Zlecę - Moduł automatycznie przypisujący atrybuty do produktu w zalezności od taksonomi
Potrzebuję modułu do D6 i Ubercart 2,6 który automatycznie przypisywałby do tworzonego produktu odpowiednie atrybuty w zalezności od wybranego terminu taksonomii. Strona jest typu marketplace i sprzedawca dodający produkt powinien miec automatycznie dostepne atrybuty/opcje które sa odpowiednie dla kategorii produktu, który własnie wystawia.
Product classes nie maja tu dla mnie zastosowania.
Na jakiejś stronie znalazłem kod ( zamieszczony poniżej) ale niestety ma on dwie wady:
1 jest dla Ubercart 2.4
2 nie działa
Zlecę wykonanie nowego modułu lub jesli ktoś potrafi zrobic aby rozwiązanie poniżej działało tez sie tym zadowolę
można pisac na gg 3107454
function MYMODULE_form_alter(&$form, $form_state, $form_id) {
if($form_id == 'product_node_form') {
$form['#submit'][] = 'MYMODULE_product_add_attribute';
}
}
function MYMODULE_product_add_attribute(&$form, &$form_state) {
// cheating, but use this original function
module_load_include('inc', 'uc_attribute', 'uc_attribute.admin');
// auto assign product attribute based on taxonomy (saves admin from thinking too much)
foreach($form_state['values']['taxonomy'] as $term_selection) {
$aid = false; // reset the attribute ID
if(is_array($term_selection)) {
if ( $tid = current($term_selection) ) {
switch($tid) {
case 1:
case 4:
$aid = 2;
break;
case 5:
$aid = 3;
break;
}
}
}
if($aid) {
$existing_attributes = uc_product_get_attributes(arg(1));
if( !isset($existing_attributes[$aid] )) {
$attribute=(array)uc_attribute_load($aid, NULL, 'product');
unset($attribute['options']);
$uc_form_state['values']['attributes'][$aid] = $attribute;
$uc_form_state['values']['add_attributes']= array($aid);
$uc_form_state['values']['type'] = 'product';
$uc_form_state['values']['view'] = 'add';
$uc_form_state['values']['id'] = arg(1);
uc_object_attributes_form_submit( array(), $uc_form_state );
}
}
}
}


