在类别页面上,所有产品都按行列出,每个完整的行都是指向该产品详细信息页面的链接。
在该行中,我创建了一个文本字段和一个提交按钮,但产品详细信息链接也在我不想要的文本字段上工作。
当我单击文本字段以在其中写入内容时,它会将我重定向到产品详细信息页面,我无法在文本字段中写入内容。
那么我将如何处理它以便我可以在文本字段中写入一些值?
在类别页面上,所有产品都按行列出,每个完整的行都是指向该产品详细信息页面的链接。
在该行中,我创建了一个文本字段和一个提交按钮,但产品详细信息链接也在我不想要的文本字段上工作。
当我单击文本字段以在其中写入内容时,它会将我重定向到产品详细信息页面,我无法在文本字段中写入内容。
那么我将如何处理它以便我可以在文本字段中写入一些值?
这只是因为 zen cart 默认代码在单击产品行的情况下重定向用户。
您可以通过两种方式更改默认行为:
您可以使用下面的代码来防止有人点击文本框时的默认操作
<script>
$(".sortTextBox").click(function(event) {
event.preventDefault();
});
</script>
您需要更改categories.php
位于 zencart 管理文件夹中的文件中的产品列表代码。
或者,由于您正在更改管理界面的工作方式,您可以扩展您的更改以同时删除允许单击该表行以快速访问该产品详细信息的链接(这是编辑该产品的信息通常被处理)。
例如,需要删除这些代码片段中的 onclick 事件:
echo ' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . zen_href_link(FILENAME_CATEGORIES, zen_get_path($categories->fields['categories_id'])) . '\'">' . "\n";
和
echo ' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . zen_href_link($type_handler , 'page=' . $_GET['page'] . '&product_type=' . $products->fields['products_type'] . '&cPath=' . $cPath . '&pID=' . $products->fields['products_id'] . '&action=new_product' . (isset($_GET['search']) ? '&search=' . $_GET['search'] : '')) . '\'">' . "\n";
然后您必须使用 (e) 编辑按钮来访问实际的正常产品编辑屏幕,而不是单击行上的任意位置。