我在更改元描述中的字符限制时遇到问题。我已经修改如下所示:
http://www.magentocommerce.com/boards/v/viewthread/278911/#t392935
但它只检测您是否从 magento admin 创建或修改产品,我从 .csv 文件上传产品,我必须逐个访问元描述中的每个产品,然后从 255 下降到 155:(
有什么方法可以在不从 Magento 更改的情况下更改它,我认为问题出现了,因为代码说:
setOnkeyup
在此先感谢和问候!
我在更改元描述中的字符限制时遇到问题。我已经修改如下所示:
http://www.magentocommerce.com/boards/v/viewthread/278911/#t392935
但它只检测您是否从 magento admin 创建或修改产品,我从 .csv 文件上传产品,我必须逐个访问元描述中的每个产品,然后从 255 下降到 155:(
有什么方法可以在不从 Magento 更改的情况下更改它,我认为问题出现了,因为代码说:
setOnkeyup
在此先感谢和问候!
我了解,您的 meta_description 中每个产品的数据都太长了。
您可以在加载之前通过布局 XML 配置或直接通过 PHTML 模板为每个页面类型缩短值。
获得所需结果的更好方法不是导入比您需要的最长的数据。
导入不必要的数据解决导入,然后您需要再次更正它。
在开始导入 magento 之前,制作脚本以在 CSV 文件中剪切元描述可能会更好。
我解决了类似的问题并做了这样的事情:(脚本获取您的 csv 文件并只使用 2 列、SKU 和名为 DECSRIPTION 的更新文本进行新建,而不是在您第一次导入 csv 后导入到 magento(首先导入没有元描述的所有内容) , 之后只有你的元描述被 250 个字符删掉了))
//////// get csv and take variable you need in my case is it SKU
$csv = file_get_contents ('myimportfile.csv');
function parse_csv ($csv_string, $delimiter = ";", $skip_empty_lines = true, $trim_fields = true)
{
$enc = preg_replace('/(?<!")""/', '!!Q!!', $csv_string);
$enc = preg_replace_callback(
'/"(.*?)"/s',
function ($field) {
return urlencode(utf8_encode($field[1]));
},
$enc
);
$lines = preg_split($skip_empty_lines ? ($trim_fields ? '/( *\R)+/s' : '/\R+/s') : '/\R/s', $enc);
return array_map(
function ($line) use ($delimiter, $trim_fields) {
$fields = $trim_fields ? array_map('trim', explode($delimiter, $line)) : explode($delimiter, $line);
return array_map(
function ($field) {
return str_replace('!!Q!!', '"', utf8_decode(urldecode($field)));
},
$fields
);
},
$lines
);
}
// list of variables to array
$vystup = parse_csv($csv);
enter code here
之后,您可以将每个变量循环到行,通过 PHP 修改您想要的内容:
$seznamsku = array();
foreach ($vystup as $row){
array_push($seznamsku, $sku[0]);
unset($seznamsku[0]);
$seznamskufin = array_filter($seznamsku, 'strlen');
};
foreach ($seznamskufin as $row) {
$__OUT .= ' "ROW_YOURSKU","'.htmlspecialchars(substr(ROW_YOURMETADESCRIPTION, 0, 155)).'"'."\n"; // TODO exactly dont know how to call variables, maybye $row['something'] or $row[0]['something']
};
$feed = fopen($newfile, 'w');
fwrite($feed, $__OUT);
fclose($feed);
//remember to unset variables
您可以获取另一个描述长 250 个字符的 csv 文件并将其导入 magento(您必须更新代码,它只返回 SKU 列表,从文件中获取您的描述);