2016-08-26 2 views
0

나는 joomla에서 이미 한 프로젝트에서 작업 중입니다. 거기에 몇 가지 문제를 해결해야합니다.

그들은 joomla 3.0에 장소 주문 구성 요소가 있습니다. 메인 페이지에는 두 가지 옵션이 있습니다. 하나는 정규 주문을하고 다른 하나는 특별 주문입니다. 그들은 라디오 버튼으로 주어집니다. 각 버튼에는 다음과 같이 작성된 onclick 함수가 있습니다.joomla에서 window.location 사용 3

onclick='window.location.href=("<?php echo JRoute::_('index.php?option=com_order'); ?>")' 

onclick='window.location.href=("<?php echo JRoute::_('index.php?option=com_order&ordertype=2'); ?>")' 

첫 번째 버튼은 다음과 같이 url을 형성합니다.

index.php?option=com_order&view=form&layout=edit&Itemid=516&lang=en 

두 번째로는 URL이 올바르지 않으며 오류가 발생합니다.

index.php?ordertype=2&option=com_order&Itemid=516&lang=en 

두 번째 url에는 매개 변수 view = form & layout = edit가 누락되어 있습니다. 이 문제를 어떻게 해결할 수 있습니까? 새 메뉴 항목을 추가해야합니까? 그렇다면 어떤 유형입니까? 아니면 그냥 window.location.href에 URL을 하드 코딩?

+0

JRoute로 렌더링하려는 메뉴 끝점의 ID가 516이라고 가정합니다.당신은 url 매개 변수를 Itemid = 516을 url params 문자열에 추가하려고 시도했다. –

답변

0

:이 답변을 여러분 모두 감사하지만 bquarta는 잘 될 수 있습니다

그래서 사용하려고합니다. 나는이 문제를 해결하는 또 다른 방법을 사용했다.

<?php $u = JURI::getInstance(); 
$u->setVar('ordertype', '2');?> 
onclick='window.location.href=("<?php echo JRoute::_($u->toString()); ?>")' 
1

이 그냥 무작위 샷,하지만 당신은 JRoute-정의는 말한다 here 살펴있는 경우 세 가지 옵션이 있습니다 : _($url, $xhtml=true, $ssl=null)

두 번째는 나에게 흥미있는 소리 :

$ XHTML

어쩌면 거짓이 옵션, 귀하의 링크와 함께 어떻게되는지를 설정 XML을 compilance에 대한 &에 의해 &를 교체?

이에 의해 트리거되는 코드의 일부는 다음과 같습니다

if($xhtml) { 
    $url = str_replace('&', '&amp;', $url); 
} 

그래서 적어도 내가 두 경우 사이에 볼 수있는 유일한 중요한 차이가있는합니다 (&를 않는 str_replace하지 않을 false로 설정) ... 나는 이것을 대체 할 이유가 있음을 알고 있지만 ... 음 ... utf8을 사용하고 있다면, 문제가되지 않아야한다. ...

나는 의미한다. 또 다른 것은 분명히 이상합니다. JRoute은 옵션과 ordertype 매개 변수를 어떤 이유로 든 뒤집을 수 있습니다. 로 전화 - _ JRoute :: 중 일부() - D

관련

1

나의 첫번째 제안은 단지 &ordertype=2를 이동하는 것입니다 :

희망 나는 적어도이 몇 가지 입력을 줄 수 이것은 JRoute를 혼란스럽게합니다.

onclick='window.location.href=("<?php 
    echo JRoute::_('index.php?option=com_order') . '&ordertype=2'; 
?>")' 

가 (조금 추한 및