私はrouter.phpとのURLを書き換えるとjoomla 1.5を使用しています。ここでrouter.phpの内容は以下のとおりです。JRouterを使用してコントローラとタスクのURLを書き換えるにはどうすればよいですか?
<?php
function PvcCalcProBuildRoute(&$query)
{
$segments = array();
if(isset($query['view']))
{
$segments[] = $query['view'];
unset($query['view']);
}
return $segments;
}
function PvcCalcProParseRoute($segments)
{
$vars = array();
switch($segments[0])
{
case 'cart':
$vars['view'] = 'cart';
break;
case 'checkout':
$vars['view'] = 'checkout';
break;
case 'login':
$vars['view'] = 'login';
break;
case 'orders':
$vars['view'] = 'orders';
break;
case 'offers':
$vars['view'] = 'offers';
break;
}
return $vars;
}
?>
私はコントローラとタスクのURL書き換えを有効にする必要があります。たとえばこの行:私は/コンポーネントに変換したい
JRoute::_('index.php?option=com_pvccalcpro&controller=orders&task=js');
:
JRoute::_('index.php?option=com_pvccalcpro&task=helpers');
私は/component/pvccalcpro/helpers.js
そして、このラインに変換したいです/pvccalcpro/orders.js
私は公式でこれを達成する方法を見つけようとしましたしかし、それはまだ多くの日を過ごした後、それは私のためにうまくいかなかった。おそらく私は何かを欠いているでしょうか?ここで
私受注例えばコントローラの内容は以下のとおりです。あなたがコンポーネントへのパスを渡すが、それはあなたのJavaScriptファイルへのパスを返すように期待しているあなたの2つのJRoute
例で
<?php
// no direct access
defined('_JEXEC') or die();
jimport('joomla.application.component.model');
class PvcCalcProControllerOrders extends PvcCalcProController
{
function display()
{
parent::display();
}
function js()
{
$t=time()+31536000;
$expires = gmdate('D, d M Y H:i:s \G\M\T',$t);
header('Content-type: text/javascript; charset=utf-8');
header('Vary: Accept-Encoding');
header('Last-Modified: Tue, 27 Dec 2001 07:05:43 GMT');
header('Expires: '.$expires);
header('Cache-Control: public, max-age=31536000');
require_once(JPATH_COMPONENT.DS.'assets/js/orders.js');
die();
}
}
?>
まだ可能ですか? –