Magento 在可配置的产品中,重音为两个字符的字符
我们销售的可配置产品需要有字符限制的文本字段(我们销售带有客户姓名的个性化手镯) 因此,我们在产品页面上创建了一个限制为15个字符的文本字段 如果我在这个字段中加上“abcdefghijklmno”(15个字母),这是非常有效的 但如果我把“abcdéfghijklmno”(仍然是15个字母,但带有“e”锐音符)放进去,它就不起作用了,它说“请指定产品选项” 经过几次测试,我发现带有重音的字母被算作两个字符 如何避免这个错误 ÉÉ 用Magento 在可配置的产品中,重音为两个字符的字符,magento,Magento,我们销售的可配置产品需要有字符限制的文本字段(我们销售带有客户姓名的个性化手镯) 因此,我们在产品页面上创建了一个限制为15个字符的文本字段 如果我在这个字段中加上“abcdefghijklmno”(15个字母),这是非常有效的 但如果我把“abcdéfghijklmno”(仍然是15个字母,但带有“e”锐音符)放进去,它就不起作用了,它说“请指定产品选项” 经过几次测试,我发现带有重音的字母被算作两个字符 如何避免这个错误 ÉÉ 用html\u entity\u decode($string)
html\u entity\u decode($string)包装变量代码>
努力学习和
如果你想更换所有的acutes
在指定产品选项之前,您必须创建一个列表并替换它
ÉÉ
用html\u entity\u decode($string)包装变量代码>
努力学习和
如果你想更换所有的acutes
在指定产品选项之前,您必须创建一个列表并替换它
这很可能是字符编码的问题,例如UTF-8与拉丁语1
你没有提到你在用什么编程语言。假设这是一个web应用程序,很可能是PHP,那么您可能可以使用mb_strlen
(计数字符)而不是strlen
(计数字节)
如果不是PHP,其他编程语言也有类似的函数来计算字符而不是字节。这很可能是字符编码的问题,例如UTF-8 vs Latin1
你没有提到你在用什么编程语言。假设这是一个web应用程序,很可能是PHP,那么您可能可以使用mb_strlen
(计数字符)而不是strlen
(计数字节)
如果不是PHP,其他编程语言也有类似的函数来计算字符而不是字节。多亏了您,我也找到了解决方案:
您必须编辑此文件:app/code/core/Mage/Catalog/Model/Product/Option/Type/Text.php
更换(第49行周围):
如果(strlen($value)==0&&$option->getIsRequire()&&&!$this->getProduct()->getSkipCheckRequiredOption()){
$this->setIsValid(false);
Mage::ThroweException(Mage::helper(“目录”)->(请指定产品所需的选项);
}
如果(strlen($value)>$option->getMaxCharacters()&&&$option->getMaxCharacters()>0){
$this->setIsValid(false);
Mage::throwException(Mage::helper('catalog')->(文本太长));
作者:
如果(mb_strlen($value,'UTF-8')==0&&&$option->getIsRequire()&&&!$this->getProduct()->getSkipCheckRequiredOption()){
$this->setIsValid(false);
Mage::ThroweException(Mage::helper(“目录”)->(请指定产品所需的选项);
}
如果(mb_strlen($value,'UTF-8')>$option->getMaxCharacters()&&&$option->getMaxCharacters()>0){
$this->setIsValid(false);
Mage::throwException(Mage::helper('catalog')->(文本太长);多亏了您,我找到了解决方案:
您必须编辑此文件:app/code/core/Mage/Catalog/Model/Product/Option/Type/Text.php
更换(第49行周围):
如果(strlen($value)==0&&$option->getIsRequire()&&&!$this->getProduct()->getSkipCheckRequiredOption()){
$this->setIsValid(false);
Mage::ThroweException(Mage::helper(“目录”)->(请指定产品所需的选项);
}
如果(strlen($value)>$option->getMaxCharacters()&&&$option->getMaxCharacters()>0){
$this->setIsValid(false);
Mage::throwException(Mage::helper('catalog')->(文本太长));
作者:
如果(mb_strlen($value,'UTF-8')==0&&&$option->getIsRequire()&&&!$this->getProduct()->getSkipCheckRequiredOption()){
$this->setIsValid(false);
Mage::ThroweException(Mage::helper(“目录”)->(请指定产品所需的选项);
}
如果(mb_strlen($value,'UTF-8')>$option->getMaxCharacters()&&&$option->getMaxCharacters()>0){
$this->setIsValid(false);
Mage::throwException(Mage::helper('catalog')->(文本太长));
$example = html_entity_decode("abcdéfghijklmno");
print_r($example);
if (strlen($value) == 0 && $option->getIsRequire() && !$this->getProduct()->getSkipCheckRequiredOption()) {
$this->setIsValid(false);
Mage::throwException(Mage::helper('catalog')->__('Please specify the product\'s required option(s).'));
}
if (strlen($value) > $option->getMaxCharacters() && $option->getMaxCharacters() > 0) {
$this->setIsValid(false);
Mage::throwException(Mage::helper('catalog')->__('The text is too long'));
if (mb_strlen($value,'UTF-8') == 0 && $option->getIsRequire() && !$this->getProduct()->getSkipCheckRequiredOption()) {
$this->setIsValid(false);
Mage::throwException(Mage::helper('catalog')->__('Please specify the product\'s required option(s).'));
}
if (mb_strlen($value,'UTF-8') > $option->getMaxCharacters() && $option->getMaxCharacters() > 0) {
$this->setIsValid(false);
Mage::throwException(Mage::helper('catalog')->__('The text is too long'));