0

我真的很想限制 Magento 产品的标题长度。

我试过的是'maxlength' => 65在某处添加\app\code\core\Mage\Adminhtml\Block\,但没有成功。

有人知道如何添加此功能吗?在 HTML 中它只会添加length="65" maxlength="65".

谢谢大家的付出。:)

4

3 回答 3

0

经过近 10 个小时的搜索,我放弃了“最佳”方式,选择了环岛。

只需添加

document.getElementById("name").setAttribute("maxlength", "65");
document.getElementById("name").setAttribute("length", "65");

app/design/adminhtml/default/default/template/catalog/wysiwyg/js.phtml

于 2012-06-28T16:52:37.447 回答
0

您可以将 javascript 验证器添加到产品的name属性中。为此,您需要为前端类更新具有特殊值的属性。只需创建sql升级:

$this->updateAttribute(
    Mage_Catalog_Model_Product::ENTITY,
    'name',
    array(
        'frontend_class' => 'validate-length maximum-length-65',
        'note'           => 'Max length is 65 characters'
    )
);
于 2013-04-26T08:24:43.893 回答
0

我没有可用的平台为您提供适当的设置演练,但我应该能够将您带到正确的位置。首先,不要更改 app/code/core 文件。您绝对需要对这些文件进行任何更改,您应该通过将 app/code/core/Mage/Sales/something.php 复制到 app/code/local/Mage/Sales/something.php 来进行。Magento 知道自动使用本地代码覆盖核心代码。

如果您查看该页面的源代码,您将看到名称表单的位置:

<input id="name" name="product[name]" value="" class=" required-entry input-text required-entry" type="text"/>            </td>
<td class="scope-label"><span class="nobr">[STORE VIEW]</span></td>
    </tr>

这里发生的事情是,你会注意到在类下我们有“required-entry input-text 和,好吧,又是 required-entry。这些是在 js/prototype/validation.js 中定义的验证标签。你需要添加一些对其进行自定义验证,并将其添加到您的模板文件中(不在核心中,升级时可能会中断)。

你会在validation.js 中注意到一个部分

Validation.add('IsEmpty', '', function(v) {

在本节中,您可以添加自定义验证。让我们说:

//make sure these are unique, I'm not checking
['validate-length', 'Your input needs to be less than x characters.', function(v) {
    if (v.length > x) return false;
}],

如果您在查找模板位置时需要帮助,请查看:Finding Correct Templates and Blocks in Magento。您只需添加 validate-length 类,例如:class="required-entry validate-length..."

于 2012-06-28T07:36:46.893 回答