আমি কয়েকটি ভিন্ন ম্যাজেন্টো সাইটের কোনও পৃষ্ঠায় একটি নির্দিষ্ট বিভাগের পণ্য সংগ্রহ পাচ্ছি। সংগ্রহটি পাওয়ার জন্য আমার কোডটি হ'ল:
$category = new Mage_Catalog_Model_Category();
$category->load($id);
$collection = $category->getProductCollection();
$collection->addAttributeToSelect('*');
$collection->addAttributeToFilter('status', 1);
$collection->addFieldToFilter(array(array('attribute'=>'visibility', 'neq'=>"1" )));
$collection->getSelect()->limit(12);
foreach ($collection as $shopProduct) :
echo $shopProduct->getProductUrl();
endforeach;
আমার সমস্যাটি হ'ল আমরা যে ম্যাজেন্টো সাইটগুলিতে আনতে চলেছি তা ProductUrl()
হ'ল একটি ইউআরএল, এর http://www.my site.com/catalog/product/view/id/2309/s/shopcat/category/373/
চেয়ে বেশি পছন্দ নয় http://www.site.com/shopcat/product-url-key.html
। তবে অন্যান্য সমস্ত সাইটে এটি যেমনটি আমরা চাই ঠিক তেমন প্রদর্শিত হচ্ছে।
কেউ হতে পারে কেন এমন হতে পারে? ধন্যবাদ! আমি getUrlPath()
খুব ব্যবহার করার চেষ্টা করেছি কিন্তু এটি কিছুই ফেরেনি। আমি জানি আমি এর মতো কিছু করে এই গোলটি পেতে পারি <?php echo $this->getBaseUrl().$shopProduct->getUrlKey().".html"; ?>
তবে সে পদ্ধতিটি কিছুটা অক্ষম বলে মনে হচ্ছে!
সম্পাদনা 21/03/14: আমার এখনও এই সমস্যা হচ্ছে। আমি বুঝতে পেরেছি getProductUrl()
সাইটের কয়েকটি টেমপ্লেট ফাইলগুলিতে অপরিচিত URL টি পুনরুদ্ধার করেছে তবে অন্যদের নয়। উদাহরণস্বরূপ, আমি হোমপৃষ্ঠায় একটি সংগ্রহ লোড করছি এবং এটি আমার চাইলে ইউআরএল দিচ্ছে। কিন্তু getProductUrl()
কোনও বিভাগের ভিউতে একই কোডের সাথে আমার যে ইউআরএলগুলি চান তা দিচ্ছে না।