Pytanie jest proste. Jeśli znam sku mojego produktu i nic więcej, w jaki sposób mogę pobrać adres URL tego elementu. Jest to zwykle przydatne w przypadku integracji stron trzecich, w której unikalny identyfikator w zdalnej usłudze nie jest zgodny z identyfikatorem produktu. A może chcesz zrobić pole wyszukiwania do wyszukiwania tylko przez sku.Jak mogę uzyskać adres URL produktu z jego SKU w Magento
Odpowiedz
można po prostu to zrobić:
$sku = 'ecco'; // SKU you want to load. 'ecco' is a sku in the Magento demo data
$url = Mage::getModel('catalog/product')->loadByAttribute('sku',$sku)->getProductUrl();
echo $url;
$product = Mage::helper('catalog/product')->getProduct($this->getData('sku'), Mage::app()->getStore()->getId(), 'sku');
$url = Mage::getUrl($product->getUrlPath());
Można uzyskać dostęp do pełnego adresu URL produktu na podstawie jego sku przez dodanie tego sposobu, a następnie ustawienie atrybutu sku w klasie do sku, które chcesz wyszukiwać według.
Możesz użyć metody ładowania. Jest to szybsze i łatwiejsze niż wszystkie inne rozwiązania.
Mage::getModel('catalog/product')->load('sku', 'sku');
Aby uzyskać więcej informacji na temat produktów załadowczych Click Here
ten kod nie działa na Magento 1.7, który mówi, że nie został znaleziony, ale istnieje produkt z tym SKU –
nie znaleziony, nie powiedziałbym, że nie znalazł by zwrócić model bez niczego w nim. – ajameswolf
Również .... Można dodać to do pliku o nazwie 'geturlbysku.php' w korzeń magento reż. Kod ten umożliwia łatwe pobieranie niewielkiej ilości jsonów produktu, umożliwiając małą integrację z javascript. URL produkt jest częścią zestawu danych
<?php
require_once '/app/Mage.php';
umask(0);
Mage::app('admin');
$actual_link = "http://$_SERVER[HTTP_HOST]";
$sku = $_GET['sku'];
$product = Mage::getModel('catalog/product')->loadByAttribute('sku',$sku);
$fullUrl = "/catalog/product/view/id/" . $product->getId();
header("Content-Type: application/json");
echo $_GET['callback'] . '('.json_encode($product->getData()).')';
?>
Korzystanie tak ... www.yoursite.com/geturlbysku.php?sku=theskuoftheproduct
część danych zwracanej obejmuje „url_path”: "Państwa -product-name.html ", który odpowiada prawdziwemu adresowi URL.
- 1. Magento - Usuwanie numerów w url klucz/produktu url
- 2. Woocommerce uzyskać identyfikator produktu za pomocą produktu SKU
- 3. Jak uzyskać wartość atrybutu produktu w magento
- 4. Jak uzyskać kategorie produktu w Magento
- 5. jak uzyskać identyfikator produktu i sku w języku magento za pomocą SQL
- 6. Jak uzyskać adres URL z UIImage
- 7. Woocommerce - Uzyskaj SKU w jednej stronie produktu
- 8. Jak mogę odblokować adres URL?
- 9. Cena wykonania strony powitalnej Magento i zwrot sumy SKU
- 10. Uzyskaj adres URL i nazwę kategorii Magento
- 11. Jak uzyskać aktualny adres URL
- 12. Magento: jak uzyskać cenę produktu z zastosowanymi regułami katalogowymi
- 13. Jak uzyskać adres URL żądania?
- 14. Identyfikator kategorii Magento z identyfikatora produktu
- 15. Przerwij adres URL na jego składniki
- 16. Jak uzyskać pełny adres url
- 17. Magento: Jak uzyskać ilość konkretnego produktu w zamówieniu?
- 18. Jak uzyskać adres URL odpowiedzi w XMLHttpRequest?
- 19. Jak zaktualizować "inventory_level" produktu według sku id w Bigcommerce?
- 20. Jak uzyskać adres URL w http.Request
- 21. Magento: Uzyskaj ilości w koszyku dla danego produktu
- 22. Używanie "getTypeInstance()" produktu w Magento
- 23. Jak uzyskać adres URL bazy w OctoberCMS?
- 24. Jak uzyskać adres URL nadrzędny w Javie?
- 25. jak uzyskać aktualny adres URL z testu kodekceptacji i phantomjs?
- 26. Jak mogę uzyskać adres URL i zapytanie? vb.net
- 27. Jak uzyskać długi adres URL z krótkiego adresu URL?
- 28. Magento - uzyskać listę identyfikatorów produktów wiązanych z ID produktu
- 29. Jak edytować szablon strony produktu w Magento
- 30. jak uzyskać nazwę bieżącej kategorii produktu (na stronie szczegółami produktu) w Magento
Błąd krytyczny: użycie $ this, gdy nie jest w kontekście obiektowym w /sku.php w linii 16, błąd jest na $ product = line ... weird. –
Jeśli nie wiesz, co jest nie tak, powinieneś przyjrzeć się zasadom OOP lub zamienić $ this-> getData ('sku') z dosłowną wartością. – ajameswolf