2013-03-05 2 views
6

Soru basittir. Ürünümün sku'yu ve başka hiçbir şey bilmiyorsam, URL'yi bu öğeye nasıl geri alabilirim? Bu, uzaktan servisteki benzersiz kimliğin bir ürün kimliğiyle uyuşmadığı üçüncü taraf entegrasyonu için genellikle yararlıdır. Ya da sadece sku ile arama yapmak için bir arama kutusu yapmak istersiniz.Bir ürünün Url'sini Magento'daki SKU'sundan nasıl alabilirim

cevap

11

yükleme ürünlerde ilgili bilgi almak için

Mage::getModel('catalog/product')->load('sku', 'sku'); 

: Ayrıca

$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; 
1
$product = Mage::helper('catalog/product')->getProduct($this->getData('sku'), Mage::app()->getStore()->getId(), 'sku'); 

$url = Mage::getUrl($product->getUrlPath()); 

Sen tarafından aramak istediğiniz SKU için sınıfı sku niteliğinin kurulması ardından bir yönteme bu ekleyerek kendi SKU'ya dayalı ürünün tam url erişebilirler.

+0

Önemli hata: Satır içeriğinde olmadığında $ $ kullanarak satır 16'daki /sku.php dosyasında hata $ product = line ... tuhaftır. –

+0

Neyin yanlış olduğunu anlayamazsanız, OOP ilkelerine bakmalı ya da $ this-> getData ('sku') değerini bir değerin içine almalısınız. – ajameswolf

2

Yükleme yöntemini kullanabilirsiniz. Bu, diğer tüm çözümlerden daha hızlı ve kolaydır. daha Sadece yapabilirsiniz Click Here

+0

Bu kod magento 1.7 üzerinde çalışmıyor, bulunamadı diyor, Ama bu SKU –

+0

ile bir ürün bulunamadı, bu modelin içinde hiçbir şey olmadan geri döneceğini söyleyemezdi demezdim. – ajameswolf

3

.... Sen geturlbysku.php 'adlı bir dosyaya bu ekleyebilir magento kökü dir. Bu kod, ürünün kolayca çekilebilmesini sağlayan ve javascript entegrasyonu sağlayan az miktarda json sağlar. Ürün URL verilerinin

Bölüm döndü veri kümesi böyle

<?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()).')'; 
?> 

Kullanım ... www.yoursite.com/geturlbysku.php?sku=theskuoftheproduct parçasıdır "url_path" içerir: "senin -product-name.html ", gerçek URL'ye karşılık gelir.