gpt4 book ai didi

php - 如何为 joomla 3 自定义字段传递类别 ID

转载 作者:行者123 更新时间:2023-11-30 00:42:11 24 4
gpt4 key购买 nike

我需要修改 joomla3 搜索模块来搜索 5 个不同的搜索类别,因此我更改了模块 form.xml 文件并添加了五个单选按钮,我想要的是从数据库中为该单选按钮分配特定的类别 ID,

这里是form.xml

       <field name="type" type="radio"
label="COM_BANNERS_FIELD_TYPE_LABEL" description="COM_BANNERS_FIELD_TYPE_DESC"
default="0" class="inputbox"
>
<option value="0">Classifields</option>
<option value="1">Company</option>
<option value="2">Government</option>
<option value="3">Religious</option>
<option value="4">Personal Names</option>
</field>

这是 view/tmpl/default.php

  <form action="<?php echo JRoute::_(JomdirectoryHelperRoute::getCategoryRoute('')); ?>" method="post" name="jomdirectoryFormSearch" id="jomdirectoryFormSearch">


<div class="control-group">

<div class="controls1">
<?= $form->getInput('type') ?>
</div>

</div>

最佳答案

您拥有的default.php不是来自Joomla的搜索模块。它看起来来自一个叫做 JomDirectory 的东西。 Joomla 的搜索模块如下所示:

https://github.com/joomla/joomla-cms/blob/staging/modules/mod_search/tmpl/default.php

要分配类别 ID 值并获取表单的它们,您实际上需要将类别 ID 放入选项值中。像这样:

<field name="cat_id" type="radio"
label="COM_BANNERS_FIELD_TYPE_LABEL" description="COM_BANNERS_FIELD_TYPE_DESC"
default="0" class="inputbox"
>
<option value="58">Classifields</option> <!-- 58 is the category id -->
<option value="13">Company</option> <!-- 13 is the cat id -->
<option value="25">Government</option> <!-- etc -->
<option value="39">Religious</option>
<option value="47">Personal Names</option>
</field>

现在要将该类别发送到 com_search(或您实际使用的任何组件),您必须从表单帖子中检索类别 ID。在 joomla 中,您将使用 JInput:

<?php

$input = JFactory::getApplication()->getInput();
$catid = $input->getInt('cat_id');

?>

您需要将 $cat_id 变量插入到搜索查询中才能返回这些结果。

一些重要的注意事项:

1) 不要修改核心 Joomla。您可以使用模板覆盖来完成表单工作。也就是说,要做你想做的事需要一些插件来修改 Joomla 的搜索查询(这样你就不会修改核心代码)

2) 有一些扩展可以通过您只需安装和使用的插件来正确执行此操作:http://extensions.joomla.org/extensions/search-a-indexing/site-search/12819

关于php - 如何为 joomla 3 自定义字段传递类别 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21677525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com