W skrócie: Pobieranie adresu URL produktu z dodatkowymi parametrami nie działa w CE 1.8 i EE 1.13.
Adresy URL zmieniły się w najnowszej wersji Magento. Wcześniej w CE 1.7 i EE 1.12 wywołanie $this->getAddToCartUrl($_product)
z listy produktów przebiegało przez następujące etapy:
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
- W tym miejscu dodany zostałby parametr „opcje” zapytania o wartości „koszyk”
Mage_Catalog_Block_Product_Abstract::getProductUrl()
- Ta metoda zasadniczo pobiera wartość z modelu adresu URL
Mage_Catalog_Model_Product_Url::getUrl()
- Wiele procesów jest przetwarzanych do momentu ostatecznego wygenerowania adresu URL, wraz z pierwotnie przekazanymi parametrami zapytania
Teraz, w CE 1.8 i EE 1.13, krok 3 Mage_Catalog_Model_Product_Url::getUrl()
zaczyna się w następujący sposób:
$url = $product->getData('url');
if (!empty($url)) {
return $url;
}
Ponieważ produkty na liście mają już dane adresu URL, parametry zapytania nie są dodawane, a końcowy adres URL nie zawiera ?options=cart
.
Moje pytanie: czy to błąd, czy funkcja?
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
poprzez singleton rdzenia / sesji. Czy możesz podać przykład kodu, którego użyłeś?