메뉴에 검색 모듈을로드 할 수있는 대안이 있습니다. 몇 가지 간단한 단계가 필요합니다.
1. mod_menu
모듈 재정의
- 템플릿 폴더에 재정의를 만듭니다
\templates\YOURTEMPLATE\html\mod_menu\default_url.php
.
- 다음 내용을 파일로 복사하십시오.
default_url.php
<?php
/**
* @package Joomla.Site
* @subpackage mod_menu
*
* @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
// Note. It is important to remove spaces between elements.
$class = $item->anchor_css ? 'class="' . $item->anchor_css . '" ' : '';
$title = $item->anchor_title ? 'title="' . $item->anchor_title . '" ' : '';
if ($item->menu_image)
{
$item->params->get('menu_text', 1) ?
$linktype = '<img src="' . $item->menu_image . '" alt="' . $item->title . '" /><span class="image-title">' . $item->title . '</span> ' :
$linktype = '<img src="' . $item->menu_image . '" alt="' . $item->title . '" />';
}
else
{
$linktype = $item->title;
}
$flink = $item->flink;
$flink = JFilterOutput::ampReplace(htmlspecialchars($flink));
if ($linktype == "CustomSearchBox"){
$document = &JFactory::getDocument();
$renderer = $document->loadRenderer('modules');
$options = array('style' => 'xhtml');
$position = 'CustomSearchBox';
echo $renderer->render($position, $options, null);
}
else {
switch ($item->browserNav) :
default:
case 0:
?><a <?php echo $class; ?>href="<?php echo $flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
break;
case 1:
// _blank
?><a <?php echo $class; ?>href="<?php echo $flink; ?>" target="_blank" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
break;
case 2:
// window.open
$options = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,'.$params->get('window_open');
?><a <?php echo $class; ?>href="<?php echo $flink; ?>" onclick="window.open(this.href,'targetWindow','<?php echo $options;?>');return false;" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
break;
endswitch;
}
if-else
메뉴 항목 제목이 "CustomSearchBox"인지 확인하는 29 번 줄부터 문 을 추가했습니다 . 이 경우 모듈 위치 "CustomSearchBox"가로드됩니다. 그렇지 않으면 일반 메뉴 항목이 반환됩니다. "CustomSearchBox"를 원하는 것으로 변경할 수 있지만 다음 단계에서 동일한 값을 사용해야합니다.
2. 새로운 검색 모듈 만들기
검색 모듈을 작성하고 필요에 따라 매개 변수를 설정하십시오 (모듈 제목을 숨기는 것이 좋습니다).
사용자 정의 위치 "CustomSearchBox"에 모듈 공개
3. 새로운 메뉴 항목을 만듭니다
메뉴 항목은 모든 유형이 될 수 있으며 "외부 URL"을 제안하고 이름은 "CustomSearchBox"여야합니다.
메뉴 항목을 저장하면 전체 메뉴 항목이 검색 창으로 바뀝니다!
불분명 한 것이 있으면 알려주세요.
jQuery
와 같은 기능을append()
하거나prepend()
하는 자바 스크립트 장애인 브라우저에서 작동하지 않습니다.