1
在我的模塊中,客戶可以將產品添加到商店,它將通過單獨的數據庫傳遞。 當管理員檢查產品並驗證產品時,我將信息更改爲prestashop產品。PRESTASHOP 1.6以編程方式將產品類別添加到產品
所以我有這樣的代碼:
$object = new Product();
$object->price = 32;
$object->id_tax_rules_group = 0;
$object->name = array((int)Configuration::get('PS_LANG_DEFAULT') => $creation['title']);
$object->id_manufacturer = 0;
$object->id_supplier = 0;
$object->quantity = 1;
$object->minimal_quantity = 1;
$object->additional_shipping_cost = 0;
$object->wholesale_price = 0;
$object->ecotax = 0;
$object->out_of_stock = 0;
$object->available_for_order = 1;
$object->show_price = 1;
$object->on_sale = 1;
$object->online_only = 1;
$object->meta_keywords = $creation['title'];
$object->active = 1;
$object->description_short = array((int)(Configuration::get('PS_LANG_DEFAULT')) => $creation['description']);
$object->link_rewrite = array((int)(Configuration::get('PS_LANG_DEFAULT')) => $creation['title']);
$object->id_category = 2;
$object->id_category_default = 2;
$object->addToCategories(array(2,13));
//SAVE
$object->save()
產品被保存,具有良好的信息,但它沒有與任何一個類別。 當我去我的頁面產品,我可以看到所有的產品,我看到我的產品和類別在那裏,但是當我輸入產品的細節,我去類別列表沒有什麼是檢查。
我想看到更多的是什麼happenning的代碼,我看到這個:
if (!in_array($new_id_categ, $current_categories))
$product_cats[] = array(
'id_category' => (int)$new_id_categ,
'id_product' => (int)$this->id,
'position' => (int)$new_categ_pos[$new_id_categ],
);
和測試後的「如果」始終是真實的,因此該產品是永遠不會產生關聯。 我有檢查,此關聯不存在。
我不知道下一步該怎麼做,或者也許我需要不使用addToCategory,也許將數據輸入自己...
所以請幫助表示感謝。
我已經嘗試過,並且表明那一個,但我再次嘗試,你是對的,不知道我第一次錯過了什麼,但你只是救了我:)非常感謝 – 2014-11-06 13:19:12