Hi Guys,
Any one let me know how can I run below command programmatically
php bin/magento regenerate:product:url
Thanks
1. Create constructor File
/**
* @var \Magento\UrlRewrite\Model\ResourceModel\UrlRewriteFactory
*/
protected $_urlRewriteFactory;
/**
* @param Context $context
* @param \Magento\UrlRewrite\Model\ResourceModel\UrlRewriteFactory $urlRewriteFactory
*/
ublic function __construct(
Context $context,
\Magento\UrlRewrite\Model\ResourceModel\UrlRewriteFactory $urlRewriteFactory
) {
$this->_eavAttributeFactory = $eavAttributeFactory;
parent::__construct(
$context
);
}
2. Construct custom URL rewrites in execute method
$urlRewriteModel = $this->_urlRewriteFactory->create ()
/* set current store id */
$urlRewriteModel->setStoreId(1);
/* the following url is not formed by system so set as 0 */
$urlRewriteModel->setIsSystem(0);
/* unique identifier - place random unique value to id path */
$urlRewriteModel->setIdPath(rand(1, 100000));
/* place actual url path to target path field */
$urlRewriteModel->setTargetPath("www.website.com/yourModule/yourController/yourAction");
/* set requested path which you desire to form */
$urlRewriteModel->setRequestPath("www.website.com/xyz");
/* set current store id */
$urlRewriteModel->save();