I am creating products programmatically in my magento store by a PHP script. Everything is going correct but url-key not showing correct.
For example :
I have a product Test already in store which has url-key test and frontend url is test.html.
Now when I create a new product with name Test then it is showing url-key test in admin panel but in frontend url is test-123.html showing.
I want to set url-key as test-123 in admin panel also.
How to do that at the time of product creation?
2 Answers 2
For Update Url Key :
$product=Mage::getModel(‘catalog/product’)->load(34441);
$old_url_key = $product->getUrlKey();
$product->setUrlKey($manufacturer . ’-’ . $old_url_key);
$product->save();
-
I know very well how to get and save product attribute or filed but my question is at the time of product creation is it possible to set
url_keyso that no rewrite generated in magento store?Vinaya Maheshwari– Vinaya Maheshwari2017年01月11日 13:40:23 +00:00Commented Jan 11, 2017 at 13:40
<?php
error_reporting(E_ALL | E_STRICT);
define('MAGENTO_ROOT', getcwd());
$mageFilename = MAGENTO_ROOT . '/app/Mage.php';
require_once $mageFilename;
Mage::setIsDeveloperMode(true);
ini_set('display_errors', 1);
Mage::app();
$products = Mage::getModel("catalog/product")->getCollection();
$products->addAttributeToSelect('*');
$fp = fopen('getUrl.csv', 'w');
$csvHeader = array("sku","url_key");
fputcsv( $fp, $csvHeader,",");
foreach ($products as $product){
$sku = $product->getSku();
$url = $product->getUrlKey();
fputcsv($fp, array($sku,$url), ",");
}
fclose($fp);
?>
testso that's why it create another entry withtest-123in that case if you dont need old url then just delete or truncateurl_rewritetable and do reindexing this way new url key would be generated