php – Magento产品导出完整的规范网址
发布时间:2020-12-13 13:17:29 所属栏目:PHP教程 来源:网络整理
导读:有没有办法在命令行上获取带有当前规范URL的产品列表? class Mage_Shell_UrlTest extends Mage_Shell_Abstract{public function run(){ $productCollection = Mage::getResourceModel('catalog/product_collection') -addStoreFilter() -addUrlRewrite() -a
有没有办法在命令行上获取带有当前规范URL的产品列表?
class Mage_Shell_UrlTest extends Mage_Shell_Abstract { public function run() { $productCollection = Mage::getResourceModel('catalog/product_collection') ->addStoreFilter() ->addUrlRewrite() ->addAttributeToSelect('*') ->setPageSize(10) // just for testing ->addFieldToFilter('visibility',Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH) ->addAttributeToFilter('status',array( 'eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED )); Mage::getSingleton('cataloginventory/stock') ->addInStockFilterToCollection($productCollection); foreach ($productCollection as $product) { $url = $product->getUrlModel()->getUrl($product,array('_ignore_category' => true)); echo PHP_EOL . $url . PHP_EOL; // debug output } } } $shell = new Mage_Shell_UrlTest(); $shell->run(); 我用php -f magento / shell / urlTest.php运行它,这给了我这样的东西: http://www.domain.com/urlTest.php/catalog/product/view/_ignore_category/1/id/307/s/any_valid_product_url_key
默认情况下,magento使用相同的代码来获取Mage_Catalog_Block_Product_View :: _ prepareLayout()中的规范URL,因此代码应该没问题.唯一的区别是代码执行的存储.
它在shell脚本中不起作用,因为它们是为admin存储执行的(请参阅Mage_Shell_Abstract :: __ construct(),其中Mage :: app()被初始化).你可以使用Mage :: app() – > setCurrentStore(‘default’);您需要更换商店的默认值,并打印正确的网址. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |