加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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’);您需要更换商店的默认值,并打印正确的网址.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读