Архив

Публикации с меткой ‘Joomla’
26 марта 2010 3 комментария

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/

Categories: CMS Tags:
23 марта 2010 Нет комментариев

ExtLinks — плагин для преобразование внешних ссылок в сылки вида http://наш_сайт/?go=google.ru
Преимущества:

  • Возможность изменить вид ссылки (в настройках плагина вместо параметра go можно указать любой другой)
  • Возможность заключить блок в теги <noextlinks></noextlinks> чтобы контент не обрабатывался плагином (например для блоков с рекламой).
  • Возможность добавить к экранируемым ссылкам rel=nofollow
  • Возможность добавить к экранируемым ссылкам target=_blank
  • Возможность заключить ссылки в теги <noindex></noindex>

Версия плагина на момент написания статьи: 2.1
Скачать можно с сайта автора: http://tushov.ru/downloads

Categories: CMS Tags:
18 марта 2010 8 комментариев

По умолчанию на главной старнице 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. :)

Categories: CMS Tags:

В случае, если продукту не присвоено изображение при проверке на валидность возникает ошибка в месте вывода изображения «нет картинки»:
/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 = '';
}
Categories: CMS Tags:
11 февраля 2010 7 комментариев

Дистрибутив 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 );
Categories: CMS Tags:
11 февраля 2010 2 комментария

В случае, когда истечение срока публикации по умолчанию принимает значение текущей даты (на некоторых хостингах, по какой причине не разбирался) можно сделать следующее изменение в файле 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'));

После этого значениие этого параметра по умолчанию будет принимать значение «Никогда».

Categories: CMS Tags:
4 января 2010 Нет комментариев

Примерное содержание структуры 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, и если вы все сделали правильно то можно устанавливать через админку. Обратите внимание, т.к. административную часть мы на этом этапе не разрабатывали то ее собственно и нет, хотя в меню компонент появится. Далее в меню управления навигацией по сайту публикуем ссылку на компонет и собственно все.

Categories: CMS Tags: