1. Скачать дистрибутив. http://www.gmarwaha.com/jquery/lavalamp/zip/lavalamp-0.2.0.zip Скопировать файлы *.js в папку с шаблоном.
2. В шаблоне:
2.1. Подключаем css:
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template;?>/style/menu.css" type="text/css" media="screen" />
Содержание файла menu.css
:
.menu {
position: relative;
height: 29px;
/*width: 421px;*/
background-color: white;
padding: 15px;
margin: 10px 0;
overflow: hidden;
border: 1px solid gray;
}
.menu li {
float: left;
list-style: none;
}
.menu li.back {
border: 1px solid #000;
background-color: #e6e8ea;
width: 9px;
height: 30px;
z-index: 8;
position: absolute;
}
.menu li a {
font: bold 14px arial;
text-decoration: none;
color: #000;
outline: none;
text-align: center;
top: 7px;
text-transform: uppercase;
letter-spacing: 0;
z-index: 10;
display: block;
float: left;
height: 30px;
position: relative;
overflow: hidden;
margin: auto 10px;
}
.menu li a:hover, .menu li a:active, .menu li a:visited {
border: none;
}
2.2. Подклюаем *.js например:
<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template;?>/js/jquery-1.2.3.min.js"></script>
<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template;?>/js/jquery.easing.min.js"></script>
<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template;?>/js/jquery.lavalamp.min.js"></script>
<script type="text/javascript">
$(function() {
$("#menu").lavaLamp({
fx: "backout",
speed: 700,
click: function(event, menuItem) {
return true;
}
});
});
</script>
3. Редактируем файл /modules/mod_mainmenu/helper.php
:
После (159 строка)
$xml->addAttribute('class', 'menu'.$class);
добавляем:
$xml->addAttribute('id', 'menu'.$class);
4. Редактируем файл /modules/mod_mainmenu/tmpl/default.php
вместо (45 строка)
$node->addAttribute('class', 'active');
пишем
$node->addAttribute('class', 'current');
Материал сформирован (описана интергация с mod_mainmenu в Joomla) на основе статьи http://www.gmarwaha.com/blog/2007/08/23/lavalamp-for-jquery-lovers/
ExtLinks — плагин для преобразование внешних ссылок в сылки вида http://наш_сайт/?go=google.ru
Преимущества:
- Возможность изменить вид ссылки (в настройках плагина вместо параметра
go
можно указать любой другой)
- Возможность заключить блок в теги
<noextlinks></noextlinks>
чтобы контент не обрабатывался плагином (например для блоков с рекламой).
- Возможность добавить к экранируемым ссылкам
rel=nofollow
- Возможность добавить к экранируемым ссылкам
target=_blank
- Возможность заключить ссылки в теги
<noindex></noindex>
Версия плагина на момент написания статьи: 2.1
Скачать можно с сайта автора: http://tushov.ru/downloads
По умолчанию на главной старнице title принимает занчение названия сайта, а в других страницах заголовка страницы. Чтобы title везде имел вид «Заголовок страницы — Название сайта» в файле index.php в используемой вами теме в начале добавить:
<?php
$document = & JFactory::getDocument();
$config = & JFactory::getConfig();
$curtitle = $document->title.' - '.$config->getValue('sitename');
$document->setTitle( $curtitle );
?>
Затем исправляем недостаток, заключающийся в том что на главной странице title имеет вид «Название сайта — Название сайта»: в админке редактируем элемент меню, который ведет на главную страницу:
«Параметры — система» -> «Заголовок страницы» — указываем заголовок страницы, например, «Главная».
Также: Подобный результат можно получить установив и настроив плагин SEO-Generator. Обратите внимание, если Вы его устанавливаете, то не нужно делать выше описанные действия, а то получится вместо title что-то непонятное. :) Также если менялись вручную generator, и некоторые meta теги, то при включении некоторых опций плагина будет показана информация из настроек плагина, а не указанная ранее, т.е. не нужно делать 2 раза тоже самое, например keywords и description можно указать в общих настройках joomla. :)
В случае, если продукту не присвоено изображение при проверке на валидность возникает ошибка в месте вывода изображения «нет картинки»:
/noimage.gif" alt=""00 border="0"
00 — это пустые значения ширины и высоты. Правится в файле:
administrator/components/com_virtuemart/classes/htmlTools.class.php
вместо:
if( $height ) { $height = ' height="'.$height.'"'; }
if( $width ) { $width = ' width="'.$width.'"'; }
добавляем:
if( $height ) {
$height = ' height="'.$height.'"';
}
else {
$height = '';
}
if( $width ) {
$width = ' width="'.$width.'"';
}
else {
$width = '';
}
Дистрибутив Highslide можно скачать на оффициальном сайте http://highslide.com/download.php
1. Папку highslide из архива копируем в папку используемого шаблона Joomla.
2. Подключаем css и js в шаблоне. Для этого в index.php шаблона добавляем:
<script type="text/javascript" src="/templates/<?php echo $mainframe->getTemplate(); ?>/highslide/highslide.js"></script>
<script type="text/javascript" src="/templates/<?php echo $mainframe->getTemplate(); ?>/highslide/highslide.config.js" charset="utf-8"></script>
<link rel="stylesheet" type="text/css" href="/templates/<?php echo $mainframe->getTemplate(); ?>/highslide/highslide.css" />
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" href="/templates/<?php echo $mainframe->getTemplate(); ?>/highslide/highslide-ie6.css" />
<![endif]-->
<script type="text/javascript">
hs.graphicsDir = '/templates/<?php echo $mainframe->getTemplate(); ?>/highslide/graphics/';
</script>
3. В файле /administrator/components/com_virtuemart/classes/htmlTools.class.php
function vmPopupLink( $link, $text, $popupWidth=640, $popupHeight=480, $target='_blank', $title='', $windowAttributes='' ) {
if( $windowAttributes ) {
$windowAttributes = ','.$windowAttributes;
}
return vmCommonHTML::hyperLink( $link, $text, '', $title, "onclick=\"void window.open('$link', '$target', 'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=$popupWidth,height=$popupHeight,directories=no,location=no".$windowAttributes."');return false;\"" );
}
заменяем на
function vmPopupLink( $link, $text, $target='_self', $title='' ) {
$jslink = "<a href=\"$link\" class=\"highslide\" onclick=\"return hs.expand(this)\" title=\"$title\">$text</a>";
$noscriptlink = "<a href=\"$link\" class=\"highslide\" onclick=\"return hs.expand(this)\" target=\"$target\" title=\"$title\">$text</a>";
return $jslink;
return $noscriptlink;
}
function vmPopupLink_old( $link, $text, $popupWidth=640, $popupHeight=480, $target='_blank', $title='', $windowAttributes='' ) {
if( $windowAttributes ) {
$windowAttributes = ','.$windowAttributes;
}
return vmCommonHTML::hyperLink( $link, $text, '', $title, "onclick=\"void window.open('$link', '$target', 'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=$popupWidth,height=$popupHeight,directories=no,location=no".$windowAttributes."');return false;\"" );
}
4. В файле /administrator/components/com_virtuemart/html/shop.product_details.php
строку
$manufacturer_link .= vmPopupLink_old( $link, $text );
заменяем на
$manufacturer_link .= vmPopupLink( $link, $text );
В случае, когда истечение срока публикации по умолчанию принимает значение текущей даты (на некоторых хостингах, по какой причине не разбирался) можно сделать следующее изменение в файле administrator/components/com_content/controller.php
:
вместо
if (JHTML::_('date', $row->publish_down, '%Y') <= 1969 || $row->publish_down == $db->getNullDate()) {
$form->set('publish_down', JText::_('Never'));
} else {
$form->set('publish_down', JHTML::_('date', $row->publish_down, '%Y-%m-%d %H:%M:%S'));
}
следующее:
$form->set('publish_down', JText::_('Never'));
После этого значениие этого параметра по умолчанию будет принимать значение «Никогда».
Примерное содержание структуры xml-файла простейшего компонента.
Например: mycomponent.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install SYSTEM "http://dev.joomla.org/xml/1.5/component-install.dtd">
<install type="component" version="1.5.0">
<name>mycomponent</name>
<creationDate>2010 01 04</creationDate>
<author>Konstantin Krylov</author>
<authorEmail>[email protected]</authorEmail>
<authorUrl>http://krylov.org.ua</authorUrl>
<copyright>Copyright (C) Konstantin Krylov</copyright>
<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
<version>1.0</version>
<description>Sample Component</description>
<files>
<filename>mycomponent.php</filename>
</files>
<administration>
<menu>MyComponent...</menu>
</administration>
</install>
Затем этот файл, и файл mycomponent.php с самим php-кодом компонента пакуем в архив com_mycomponent.zip, и если вы все сделали правильно то можно устанавливать через админку. Обратите внимание, т.к. административную часть мы на этом этапе не разрабатывали то ее собственно и нет, хотя в меню компонент появится. Далее в меню управления навигацией по сайту публикуем ссылку на компонет и собственно все.