Arama modülünü menünüze yüklemek için bir alternatif var. Birkaç basit adım gerektirir:
1. mod_menu
Modülünüzü geçersiz kılın
- Şablonlar klasörünüzde bir geçersiz kılma oluşturun
\templates\YOURTEMPLATE\html\mod_menu\default_url.php
.
- Aşağıdaki içerikleri dosyaya kopyalayın:
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;
}
Ben if-else
menü öğesi başlığı "CustomSearchBox" olup olmadığını kontrol # 29 satırında başlayan bir ifade ekledim . Bu durumda, modül konumu "CustomSearchBox" yüklenir. Değilse, normal menü öğesi döndürülür. "CustomSearchBox" ı istediğiniz herhangi bir şeyle değiştirebilirsiniz, ancak aşağıdaki adımlarda aynı değeri kullanmayı unutmayın.
2. Yeni bir arama modülü oluşturun
Arama modülünü oluşturun ve parametreleri gerektiği gibi ayarlayın (modül başlığını gizlemenizi öneririm).
Modülü "CustomSearchBox" özel konumuna yayınlayın
3. Yeni bir menü öğesi oluşturun
Menü öğesi herhangi bir tür olabilir, "Harici URL" öneririm ve adı "CustomSearchBox" OLMALIDIR.
Menü öğenizi kaydedin, tüm menü öğesi arama kutusuyla değiştirilecektir!
Bir şeyin belirsiz olup olmadığını bana bildirin.
jQuery
gibiappend()
veyaprepend()
çalışmayan işlevleri düşünebilirsiniz .