我需要獲取Prestahop存儲中存在的所有屬性,而不管這些屬性是什麼或分配了什麼產品我只是想生成這些屬性的數組,然後在ProductController.php類中使用它們。我檢查文件classes/Product.php,並且存在一個名爲getDefaultAttribute($ id_product,$ minimumQuantity = 0)的方法,但我認爲這隻適用於分配給特定產品的屬性,並且不會根據需要返回所有屬性。任何幫助?我是Prestashop的新手,需要學習很多東西如何獲取prestashop中的所有屬性
2
A
回答
4
檢查文件classes/Attribute.php
。您可以使用靜態功能Attribute::getAttributes($id_lang, $not_null = false)
。它返回給定語言的所有屬性。
0
您可以使用此SQL查詢得到的所有屬性:
$atbt = "SELECT a.id_attribute_group , a.name
FROM " . _DB_PREFIX_ . "attribute_group_lang a
where id_lang='".$id_lang."'";
$res = Db::getInstance()->ExecuteS($atbt);
$product_result = array();
$i=0;
foreach ($res as $key => $row) {
$sql = 'SELECT pal.name AS label,pal.id_attribute AS value,0 AS status'
. ' FROM ' . _DB_PREFIX_ . 'attribute AS pa
RIGHT JOIN ' . _DB_PREFIX_ . 'attribute_group_lang AS pagl ON (pagl.id_attribute_group =pa.id_attribute_group)
LEFT JOIN ' . _DB_PREFIX_ . 'attribute_lang AS pal ON (pal.id_attribute =pa.id_attribute)
JOIN ' . _DB_PREFIX_ . 'product_attribute_combination AS pacl ON (pacl.id_attribute =pal.id_attribute)
JOIN ' . _DB_PREFIX_ . 'product_attribute AS pat ON (pat.id_product_attribute =pacl.id_product_attribute)
JOIN ' . _DB_PREFIX_ . 'product AS prot ON (prot.id_product =pat.id_product)
WHERE pagl.id_lang="'.$id_lang.'" AND pal.id_lang="'.$id_lang.'" AND pagl.id_attribute_group=' . $row['id_attribute_group'].' AND prot.id_category_default = "'.$id_category.'" GROUP BY pacl.id_attribute';
$result = Db::getInstance()->ExecuteS($sql);
}
+0
雖然這段代碼可以解決這個問題,包括一個解釋[真的有幫助](// meta.stackexchange.com/q/114762)來提高你的文章的質量。請記住,你正在爲將來的讀者回答這個問題,而不僅僅是現在問的人!請編輯您的答案以添加解釋,並指出適用的限制和假設。 –
相關問題
- 1. 如何獲取Synsets的所有屬性?
- 2. 如何獲取具有某些屬性的所有屬性?
- 3. 獲取Browsable屬性的所有屬性
- 4. 如何獲取屬於magento屬性組的所有屬性
- 5. 如何獲取所有屬性 - [NSString sizeWithAttributes:]
- 6. 如何獲取所有ref屬性值?
- 7. prestashop:如何獲得屬性的值
- 8. 獲取所有屬性屬性
- 9. 我如何獲得在Prestashop中選擇屬性的所有產品
- 10. 如何獲取所有聯繫人及其所有屬性
- 11. 如何獲取實體中所有屬性的名稱?
- 12. 如何獲取Swift中的所有靜態屬性?
- 13. 如何使用Onchange屬性獲取表單中的所有值
- 14. 如何獲取此對象中文本的所有屬性?
- 15. 如何在Java中獲取.class的所有屬性?
- 16. 如何在C中獲取對象的所有簡單屬性#
- 17. 如何獲取核心數據中屬性的所有值?
- 18. 如何獲取類中屬性的所有訪問器方法?
- 19. 如何獲取方法中引用的所有屬性?
- 20. 如何在PHP中獲取類的所有非對象屬性?
- 21. 如何獲取ActionFilter中參數的所有屬性?
- 22. 如何獲取div中的所有表單屬性?
- 23. 獲取所有值的屬性對象
- 24. 獲取DBpedia類的所有屬性
- 25. 獲取所有XML屬性的列表
- 26. xsl - 獲取孩子的所有屬性
- 27. 獲取DisplayName屬性的所有值
- 28. 獲取子元素的所有屬性
- 29. 如何獲取具有相同名稱的所有屬性?
- 30. 如何獲取所有沒有給定屬性的實體?
感謝@亞歷山大simonchik看到我用這一個我所提出的代碼之後'$ query_attributes =「SELECT ps_al.name FROM」。 _DB_PREFIX_。 「attribute_lang ps_al LEFT JOIN」。 _DB_PREFIX_。 「attribute_group_lang ps_agl ON(ps_al.id_lang = ps_agl.id_lang)LEFT JOIN」。 _DB_PREFIX_。 「屬性ps_a ON(ps_a.id_attribute_group = ps_agl.id_lang)WHERE ps_al.id_lang =」。 (int)Configuration :: get('PS_LANG_DEFAULT'); \t \t $ attributes = Db :: getInstance() - > ExecuteS($ query_attributes); \t \t $ existent_attributes = array(); \t \t foreach($ attributes as $ attr){ \t \t $ existent_attributes [] = $ attr ['name']; \t \t}' – ReynierPM
但是你的工作太過分了,所以分數就交給你了。謝謝 – ReynierPM