| Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference (или не совместимость Joomla с PHP 5.3.0)
Если у вас появляются такие сообщение об ошибке
-
Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference...
-
Warning: Parameter 4 to JHTMLMenu::treerecurse() expected to be a reference, value given in /libraries/joomla/html/html.php on line 87
-
Warning : array_slice() expects parameter 1 to be array, null given in /administrator /components /com_menus /models /list.php on line 143
-
Warning : Invalid argument supplied for foreach() in /administrator /components /com_menus /models /list.php on line 147
-
Warning : Invalid argument supplied for foreach() in /administrator /components /com_menus /views /list/view .php on line 65
... Детальніше... |
| Cloud Zoom - простой и легкий в интеграции зум для картинок.
Искал не это, но в принципе подошло как вариант решения задачи. Может кому будет полезно:
Облако масштабирования изображения без увеличения JQuery плагин, сопоставим альтернативе продуктов, таких как Magic Zoom. По сравнению с популярной jQZoom плагин, имеет больше возможностей и более надежен и совместим в различных браузерах.
Пример HTML файла:
... Детальніше... |
| error : Parameter 2 to frontpage() expected to be a reference, value given in /var/www/html/sitio/includes/ Cache / Lite / Function . php )
После обновления версии РНР с 5.2 на 5.3.2 многие владельцы сайтов увидели это сообщение:
error : Parameter 2 to frontpage() expected to be a reference, value given in /var/www/html/sitio/includes/Cache/ Lite/Function.php
Решение:
1) Ищем файл /includes/Cache /Lite/Function.php
Заменяем код:
$arguments = func_get_args();
на код:
$arguments = func_get_args();
$numargs = func_num_args();
for($i=1; $i < $numargs; $i++){
$arguments[$i] = &$arguments[$i];
}
2) Ищем файл /includes/vcard.class.php
Перед строкой 38:
Вставляем код:
if(!function_exists('quoted_printable_encode'))
{
/Тут размещаем все что было с 38 до 77 строки */
}
Источник: joomla.org ... Детальніше... |
| Flash поверх выпадающего меню или JavaScript (JS)
Вот пару статей на эту тему:
Проблема не то, чтобы достаточно распространенная. Но когда на нее натыкаешься, сначала приходится поломать голову, поискать в сети.. и можно не найти решения проблемы.
Суть в том, что если у Вас на сайте есть флэш, а рядом/над ним есть выпадающее меню или, например, какой-либо эффект на JavaScript, то flash будете перекрывать его, находиться поверх.
Чтобы сразу не кидаться в крайности и отказываться от флэш, идеи с меню или скрипта, предлагаю решению проблемы. Для flash добавляем следующие параметры
|
1
|
<param name="wmode" value="transparent">
|
А в embed добавляем
Пример.
1 .Код до решения проблемы
|
1
2
3
4
5
6
7
8
9
|
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="125" height="125">
<param name="movie" value="images/filename.swf" />
<param name="quality" value="high" />
<embed src="images/filename.swf" quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash" width="125" height="125">
</embed>
</object>
|
2. Код после решения проблемы
|
1
2
3
4
5
6
7
8
9
10
11
|
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="125" height="125">
<param name="movie" value="images/filename.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent">
<embed src="images/filename.swf" wmode="transparent"
quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash" width="125" height="125">
</embed>
</object>
|
Источник: http://www.art-shok.ru/advice/flash-above-menu-javascript/
... Детальніше... |
| IceVmCart+SEF - модуль корзины для VirtueMart IceVmCart - очень неплохой модуль корзины для VirtueMart. Корзина не занимает много места и всплывает по требованию. Можно разместить в шапке шаблона.
Разработчик: IceTheme
Лицензия: GNU GPL v.2
Демо разработчика: http://demo.icetheme.com/extensions/icevmcart.html
Загрузить с сайта разработчика: http://icetheme.com/Download-Extensions/Download-document/96-IceVmCart.html
Установка: В архиве есть инструкция, но установка нестандартная, поэтому немножко помогу:
-
Установите модуль из файла mod_IceVmCart_v.x.x.zip .
-
Файл minicart.tpl.php скопируйте в папку ...componentes/com_virtuemart/themes/default/templates/common/
Чтобы вверху Cart (0 Items) отображалось на русском языке, необходимо немножко изменить файл \www\имя сайта\modules\mod_ice_vmcart\tmpl\default.php
1. Найдите строку №15
if ($total > 0) $totalString = '(<strong>'.$total.'</strong> Items)';
и замените "Items" на "шт."
if ($total > 0) $totalString = '(<strong>'.$total.'</strong> шт.)';
*
2. Найдите строку №26
<a href="javascript:void(0)" id="cart-button" ><span><?php echo JText::_('Cart').' '.$totalString; ?></span></a>
и замените "Cart" на "Корзина"
<a href="javascript:void(0)" id="cart-button" ><span><?php echo JText::_('Корзина').' '.$totalString; ?></span></a> |
Если Вам не нравится, что корзина появляется слишком медленно, то удалите или переименуйте файл ajax-loader.gif. Он находится в папке с модулем: www\modules\mod_ice_vmcart\assets. Это ускорит появления корзины в три раза, но не будет анимации и время затенения будет наползать на корзину. Чтобы этого не было, сделайте небольшое изменение файла script.js.
1. Найдите строку №94
},1500);
и замените на строку
},1000); |
Глубоко не копал, но это может помочь.
Источник: http://top3.com.ua/index.php?option=com_content&view=article&id=92:icevmcart-virtuemart&catid=39:virtuemart&Itemid=64
Плюс мое маленькое дополнение, для работы IceVmCart+SEF:
modules/mod_ice_vmcart/mod_ice_vmcart.php components/com_virtuemart/themes/default/templates/common/minicart.tpl.php
Ищем код:
$ query = 'SELECT product_thumb_image FROM #__vm_product WHERE product_name=". $db->quote($pid);
Меняем на:
$query = 'SELECT product_thumb_image FROM #__vm_product WHERE product_name="'.$cart['product_name'].'"';
Может не самый правильный, но работает.
Будут вопросы - пишите в коментах.
... Детальніше... |
| Joomla: JFolder:: create: Path not in open_basedir paths Folder:: create: Path not in open_basedir paths
Unable to create destination
Эта ошибка возникает, если параметр open_basedir не совпадает с корнем сайта, куда установлена Joomla. Такой уж замысел разработчиков.
Первый способ решения:
В файлах настроек PHP или Apache, установить в значение переменной open_basedir путь к document_root, где установлена Joomla.
Второй способ решения:
1. Заходим по ftp в папку libraries-gt; joomla- filesystem
2. В файле folder.php находим следующую строку:
$ Obd = ini_get ('open_basedir');
и комментируем его (ставим перед строкой / /). В моей версии, Joomla 1.5.20, это 194 я строка.
3 Сохраняем изменения и проверяем.
Источник: http://teaseo.org.ua/joomla-jfoldercreate-path-not-in-open_basedir-paths.html ... Детальніше... |
| SMF добавляем кнопку в меню. Пока разработка о которой я упоминал в предыдущей статье готовится к публикации, сделаю зарисовку о форуме SFM и его меню.
Зачастую форум находиться на поддомене как это можно видеть на примере форума Forum.serovweb.ru.
Для того чтобы перейти на верхний домен не всегда удобно в адресной строке браузера стирать приставку forum.
В данной статье я расскажу где в SMF добавляется новый пунк меню.
Итак за меню отвечает файл Subs.php находящийся в папке Sources.
Делаем резервную копию =)
Затем находим конструкцию вида:
3 |
'title' => $txt['home'], |
6 |
'sub_buttons' => array( |
8 |
'is_last' => $context['right_to_left'], |
Для того чтобы нам добавить кнопку в начало вставляем код:
2 |
'SerovWeb.ru' => array( |
3 |
'title' => 'SerovWeb.ru', |
6 |
'sub_buttons' => array( |
8 |
'is_last' => $context['right_to_left'], |
Да! Вот так просто добавить в меню, еще один пункт. Вы можете добавить ссылку на правило или на чат. Фантазия безгранична.
С уважением, acid.
Источник: http://acid.name/?p=1101 ... Детальніше... |
| Virtuemart - ускорение роботы магазина.
Привет!
Но вот сегодня настал момент оптимизации моего небольшого магазинчика и я начал рыть...Не суть, нашел решение. Применил у себя на сайте, был потрясен результатами и удивлен что на форуме никто еще об этом не написал. Поэтому специально восстановил забытый пароль и спешу...кароче начинаем! 
Идем вот суда:
/ваш_сайт/www/administrator/components/com_virtuemart/html/
там находим файл shop_browse_queries.php
открываем и ищем 61 строчку
$where_clause[] = "(`#__{vm}_product_category_xref`.`product_id`=`#__{vm}_product`.`product_id` OR `#__{vm}_product_category_xref`.`product_id`=`#__{vm}_product`.`product_parent_id`)";
заменяем ее на
$where_clause[] = "(`#__{vm}_product_category_xref`.`product_id`=`#__{vm}_product`.`product_id`)";
жмакаем сохранить, обновляем файл на сервере, очищаем кэши. Радуемся жизни.
Оригинальная тема на форуме виртуамарта - http://forum.virtuemart.net/index.php?topic=65103.0
Висит с января 2010 как видите..там же дальше в 3-ех страницах можете почитать благодарственные отзывы народа, с каталогом в 5000-30.000 товаров, и как у них все стало летать. К слову там же можно найти и каммент разработчика по этому поводу. А если копнуть свосем глубоко, некий малый, я так понимаю русский (нкто haword) выложил свой вариант файла shop_browse_queries.php
Кому лень копаться в коде, вот ссылки (файл приаттачить почему-то не могу)
http://slil.ru/29548397 - версия от Udo
http://slil.ru/29548399 - версия от haword
ВАЖНО: кол-во запоросов не уменьшилось. Изменилось само качество запроса.
ВАЖНО №2: чтобы уменьшить кол-во запросов к БД (тобишь кэшировать их) юзайте вот этот замечтательный компонент:
QueryCache 1.5.0 RC2 (for Joomla 1.5.x) - http://www.joomlaperformance.com/component/option,com_docman/task,cat_view/gid,41/Itemid,39/
Мануалка по установке - http://www.joomlaperformance.com/component/option,com_easyfaq/task,view/id,28/Itemid,7/
ВАЖНО №3: Сам еще пока не проверял (в ближайшие пару часов) нашел еще вот такой интересный вариант кэша - http://forum.virtuemart.net/index.php?topic=43602.0
Обо мне:
Joomla 1.5.18
Virtuemart 1.1.4
После установки QueryCache кол-во запросов в VirtueMart при просмотре товара сократилось в 1.5 раза
После установки хака + querycache магазин стал грузится за
Application afterLoad: 0.000 seconds, 0.40 MB
Application afterInitialise: 0.188 seconds, 4.55 MB
Application afterRoute: 0.197 seconds, 5.46 MB
Application afterDispatch: 0.455 seconds, 18.28 MB
Application afterRender: 0.519 seconds, 19.36 MB
Успехов ребят!
Источник: http://joomlaforum.ru/index.php/topic,124933.0.html ... Детальніше... |
| А как сделать кнопку назад в шаблоне списка материалов в категории? Можно добавить в статью ссылку типа:
<div id="back_link">
<a href='javascript:history.go(-1)'>
Назад</a>
</div>
Либо:
<div id="back_link">
<a href="javascript:history.back();">
Назад</a>
</div>
Но для этого из черного списка надо исключать script Что бы ссылка не вырезалась
Проще помоему изменить немного вывод материала. Для этого добавим в файл components\com_content\views\article\tmpl\default.php строчку.
Допустим в конце, после того как в нем идет <?php echo $this->article->event->afterDisplayContent; ?> добавляем следующее:
<div id="back_link" align="center">
<a href='javascript:history.go(-1)'>
Назад</a>
</div>
Источник: http://joomlaforum.ru/index.php/topic,49881.0.html ... Детальніше... |
| Всплывающее окно средствами Joomla
Lightbox эффект в Joomla
SqueezeBox это реализация Lightbox в Joomla
Для его применения в head область index.php файл шаблона нужно добавить следующий код:
<?php JHTML::_('behavior.modal'); ?>
Здесь можно посмотреть как выглядит данная функция
Этот код добавит в HTML код страницы следующий скрипт:
<link rel="stylesheet" href="/joomla_v1.5.13/media/system/css/modal.css" type="text/css" />
<script type="text/javascript" src="/joomla_v1.5.13/media/system/js/modal.js"></script>
<script type="text/javascript">window.addEvent('domready', function() {SqueezeBox.initialize({});
$$('a.modal').each(function(el) {el.addEvent('click', function(e) {new Event(e).stop();
SqueezeBox.fromElement(el);});});});</script>
Теперь для применения Lightbox эффекта нужно добавить в материал следующий код:
<a class="modal" href="location" title="caption"><img src="location" alt="description" title="caption" /></a>
Данный HTML код используется для отображения картинки во всплывающем окне. Его также можно использовать и для отображения страницы с текущего сайта. Чтобы во всплывающем окне был только сам материал, а не вся страница, нужно в параметры ссылки добавить ?tmpl=component или &tmpl=component
<a class="modal" href="location?tmpl=component" title="caption">Станица с текущего сайта</a>
Чтобы открыть страницу во всплывающем окне с другого сайта, нужно использовать код:
<a rel="{handler: 'iframe', size: {x: width, y: height}}" href="address" class="modal">link name</a>
или для php кода:
<?php
$myselector = "mylinkclass";
$mysizex = 800;
$mysizey = 600;
JHTML::_('behavior.modal($myselector,'size'{x:$mysizex, y:$mysizey})');
?>
Станица будет открыта в плавающем фрейме. Если это материал с сайта Joomla, также можно использовать параметр tmpl=component. Правда, в этом случае во всплывающем фрейме не будут загружены таблицы стилей и ,соответственно, материал будет выглядеть не совсем так, как он выглядит на удаленном сайте.
Если мы хотим открыть материал с текущего сайта в плавающем фрейме, нужно в разметку компонента содержания components/com_content/views/article/tmpl/default.php добавить код:
<?php if (JRequest::getVar('tmpl') != 'component') :?>
Здесь нужно перечислить нужные таблицы стилей:
JHTML::stylesheet('mystyle.css','templates/template_name/css/',
array('media'=>'all'));
<?php endif; ?>
Добавление данного кода сохранит форматирование материала.
Или лучше скопировать файл разметки в папку шаблона html/com_content/article/
Оригинал: http://www.jdevelop.info/articles/9/46 ... Детальніше... |