繁体   English   中英

如何在joomla中使用表单submit method =“get”

[英]How to using form submit method=“get” in joomla

我有一个示例代码:

<?php
$id = JRequest::getVar('id');
$action = "index.php?option=com_test&id=".$id;
?>
<form action="<?php echo $action ?>" method="get">
<input type="text" name="id" value=""/>
<input type="submit" value="submit" name="submit" />
</form>

当我提交表单时,url是“ index.php&id=... ”=>错误找不到组件

如何修复它的结果是“ index.php?option=com_test&id=...

JROUTE是什么?

在您的forum action ,您应该使用JRoute (组件路由器)中的功能将框架中的URL正确路由到组件。 JRoute::_('index.php?option=com_test&id=".$id');

为什么?

为避免在通过菜单管理器创建菜单项时出现问题,您的代码将不兼容(即,将显示no component can be found的错误)。

不相容? 你的意思是什么?

这可能是因为有人可能创建了一个菜单项index.php/myMenuItem/ ,这是由joomla标准使得默认的url ?option=com_test不兼容。

Alias如何在URL中使用?

对于一个菜单项,Joomla! 使用别名作为URL插件。 假设您使用前两个SEF URL选项,并创建一个名为Products的菜单项。 您的网址为example.com/products。

的Joomla! 还使用URL中数据的主键值来帮助路由器导航到正确的页面。 继续前面的示例,如果您的产品菜单项是针对文章/类别博客,则文章标题和/或阅读更多链接的链接将包含三个部分:

信用( JRoute ,2011)

履行

<?php
$id = JRequest::getVar('id');
$action = "index.php?option=com_test&id=".$id; ?>
<form action="<?php echo JRoute::_($action); ?>" method="get">
<input type="text" name="id" value=""/>
<input type="submit" value="submit" name="submit" />
</form>

其他例子..

如果要查看JRoute在其他组件中的实现方式,请查看管理员组件com_menus的views部分。 在目录com_menus/views/items/tmpl/edit.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM