[英]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中數據的主鍵值來幫助路由器導航到正確的頁面。 繼續前面的示例,如果您的產品菜單項是針對文章/類別博客,則文章標題和/或閱讀更多鏈接的鏈接將包含三個部分:
- 菜單項URL - example.com/products;
- 此外,類別和類別別名的主鍵 - 32-fruit;
- 另外,文章和文章別名的主鍵 - 1-apple; 完整的URL是: http : //example.com/products/32-fruit/1-apple
信用( 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.