2012-07-24 97 views
0

這裏使用了magento 1.7.0.2,已經測試了很多推薦的解決方案(重新編譯,清除緩存,確保沒有url重寫完成等)我放棄了提問。產品描述頁面未顯示,錯誤404

我們正在將一堆產品(大約150個)與2個新類別以及大量新屬性(大約200個)一起導入演示商店。在發生一些問題後,我們最終設法將產品顯示在後端和前端,非常棒。

但是,當點擊任何新導入的產品時,我們會從Magento的「錯誤,我們的壞...」中得到404錯誤頁面。經過2天的搜索和嘗試不同的方法仍然沒有找到解決方案。重新編排,清除緩存,檢查url重寫選項,在core_config_data表中更改'127.0.0.1'的'localhost',以及其他可用於其他解決方案的解決方案,對我們來說沒有用處。

任何線索?

除了找到的解決方案之外,我們檢查了產品已啓用,爲目錄和搜索設置了可見性,分配了一個網站並且數量大於零。我們還手動創建了具有所有正確屬性值的產品,並且其描述頁面可見。比較(使用後端和數據庫表/字段)與導入的產品似乎完全相同。

+1

這將有助於準確地知道你已經嘗試了什麼。例如,您是否嘗試了基本知識:將產品設置爲有庫存,將數量設置爲> 0,將可見性設置爲可見目錄和搜索。將其設置爲已啓用。分配給網站等? – sulman 2012-07-24 10:54:31

+0

啓用確定,可見性確定,確定,確定,分配給網站確定...將編輯問題以添加更多信息 – Yaroslav 2012-07-24 10:56:48

回答

0

我自問自答。感謝@sulman指出了正確的方向。

是的,所有產品的可見性都可以,對於Catalog和Search都正確解決。但問題是,在我們的導入腳本中,我們沒有檢查導入產品的屬性的存在和正確分配。因此該屬性存在,但未鏈接到已存在的可見性屬性。

這裏需要一個示例代碼,請參閱開頭if (isset($attributeId)),檢查該屬性是否存在。

if (isset($attributeId)) 
    { 
     $entityAttributeModel = Mage::getModel('catalog/product_attribute_api'); 
     $attributeList = $entityAttributeModel->items($attributeSetId); 
     $attributeLink = $this->search($attributeList, 'attribute_id', $attributeId); 

     if (sizeof($attributeLink) == 0) 
     { 
      $setup = new Mage_Eav_Model_Entity_Setup('core_setup');   
      $setup->addAttributeToGroup($this->getEntityTypeId(), $attributeSetId, $groupId, $attributeId); 
     }  

     $model = Mage::getModel('catalog/resource_eav_attribute'); 
     $attribute = $model->load($attributeId); 

    }