簡體   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