Новости Joomla

Вышел JoomShoppping 5.7.0Один из популярных компонентов интернет-магазина на Joomla

Вышел JoomShoppping 5.7.0Один из популярных компонентов интернет-магазина на Joomla.30 апреля вышел релиз 5.6.2, а 15 мая его догнал релиз 5.7.0. В целом можно отметить, что команда разработки взяла курс на развитие собственного установщика расширений для JoomShopping, а так же на удобство администрирования магазина в панели администратора.👩‍💻 v.5.7.0. Что нового?- Добавлено управление платными расширениями (установка / обновление / получение ключа).- Возможность изменять позиции для аддонов. Других подробностей нет, но возможно это означает что для вывода данных аддонов стало возможно переключать позиции вывода в шаблоне JoomShopping вида
_tmp_var_bottom_price и т.д.- Улучшена форма создания клиента для администратора – введенные данные сохраняются после ошибки проверки.- Новый параметр конфигурации admin_products_search_by_prod_id_range (поиск по диапазону идентификаторов товаров (x-y)). В интерфейсе настроек его нет. Нужно включать в файле
user_config.php.- для разработки аддонов - новый метод
getAddonParam().- Добавлены новые триггеры для плагинов- Исправления ошибок.👉 v.5.6.2 (30.04.2025)- Атрибуты, характеристики - добавлена иконка в списке с подсказкой о том, что этот элемент не используется- Атрибуты, характеристики - подсчет количества товаров, где используется данная характеристика / атрибут- Библиотека обработки изображений: - - добавлена поддержка avif- - исправлена ошибка с обработкой прозрачности для webp- Добавлена новая настройка: поиск товаров администратором по коду атрибута- Добавлена кнопка "Копировать" в списке способов оплаты (опции / способы оплаты)- Шаблон товара - оптимизирована загрузка шаблона - block_image_middle, блокировка изображения с помощью большого пальца- Все поля mysql имеют значения по умолчанию- Исправления ошибок- Добавлены новые триггеры для плагинов
Скачать JoomShopping#JoomShopping #расширения

Как вызвать событие только для указанной (одной или более) группы плагинов в Joomla 5Системные...

Как вызвать событие только для указанной (одной или более) группы плагинов в Joomla 5Системные плагины в Joomla срабатывают всегда, но большое их количество может негативно сказаться на скорости работы Приложения. А во-вторых ошибка в системном плагине, добавляющем кнопку в тулбар может обрушить механизм регистрации / авторизации пользователя. Поэтому для лучшего быстродействия и надёжности работы системы плагины в Joomla разделены на группы. Каждая группа срабатывает только в определённом месте и в определённый момент времени. Небольшой пост-шпаргалка для Joomla-разработчиков от участника нашего сообщества Виталия Некрасова (@vitalik_a) подскажет как в своём коде сделать то, что написано в заголовке поста 😎Читать пост на Хабре#joomla #php #разработка #webdev

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3.0Модуль позволяет создавать быстрые наборы элементов: ссылки на различные сущности на сайте Joomla: категории материалов, Virtuemart, JoomShopping, пункт меню или пользовательскую ссылку. Есть условия для исключений показа элементов списка.Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео. Также это могут быть не только ссылки, но и список вопросов FAQ, элементы Bootstrap Tabs, Accordion и т.д.v.2.3.0 Что нового?- Собственные макеты для ссылокТеперь для каждой ссылки можно указать собственный макет из папки

/tmpl/sublayout/. Для использования модуля в этом режиме, необходимо выбрать макет модуля -
default-sublayouts или создать собственный вариант этого макета. - Обработка плагинами контентаСодержимое поля Дополнительный текст для ссылки теперь обрабатывается плагинами контента.- Поле примечанияДобавлено поле примечания для ссылки. Это удобно ориентации в большой форме.- Рефакторинг кодаПроведена чистка и улучшения кода.
Страница расширенияGitHub#расширения #virtuemart #JoomShopping

0 Пользователей и 1 Гость просматривают эту тему.
  • 20 Ответов
  • 30661 Просмотров
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
« Последнее редактирование: 18.10.2010, 05:10:57 от jem777 »
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Далее по отображению и интеграции... Мы будем выводить аватар юзера под приветствием. Он будет кликабельный и вести на профиль юзера. Если аватара нет, то выводим изображение по умолчанию.

В папке шаблона вашего сайта находим папку html (если нет, то создать). В этой папке создаем папку mod_login и копируем туда файл default.php из modules\mod_login\tmpl\default.php. Если такой файл уже есть, то работать прямо с ним. Это темплейт стандартного модуля входа Joomla.

Открываем файл default.php и идем на строку 11 находим:

Код
echo JText::sprintf( 'HINAME', $user->get('username') );

и после него вставляем:

Код
        <?php if($user->get('avatar')) {
  echo "<br /><br /><div><a href='";
  echo JURI::root();
  echo "index.php?option=com_user&view=user&task=edit'><img src='";
  echo $user->get('avatar');
  echo "' heigth=65 width=65/></a></div><br />";
  }
  else {
  echo "<br /><br /><div><a href='";
  echo JURI::root();
  echo "index.php?option=com_user&view=user&task=edit'><img src='images/no_avatar.png' heigth=65 width=65 /></a></div><br />";
  }
?>

Аватар должен отображаться под приветствием. Если он не загружен, отображается аватар по умолчанию. Клик по аватару ведет на страницу редактирования параметров юзера. Если у вас используется SEF, то можете вручную ввести ссылку на страницу юзера или вообще убрать ссылку.
« Последнее редактирование: 29.05.2010, 12:00:56 от jem777 »
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Далее по отображению и интеграции... делаем интеграцию с JComments

Ставим сам компонент, модуль отображения последних комментариев (если нужно) и главное плагин для отображения аватар.

После заходим в админку и:

Цитата: Цитата с сайта
В административной панели настроек компонента JComments выполните следующие действия:
На закладке «Общие» установите для параметра «Поддержка плагинов» значение «Да». Этот параметр отвечает за загрузку сторонних плагинов для компонента JComments, в том числе и плагина аватаров (если установлен).
На закладке «Права» нужным группам пользователей установите права на просмотр аватаров. Чтобы разрешить выбранной группе пользователей просматривать аватары необходимо установить галочку у параметра «Показывать Gravatar».
Сохранить настройки компонента.

Гостям и зарегистрированным юзерам сайта ставим разрешить просмотр аватаров.
Далее идем в папку плагинов и открываем plugins\jcomments\jcomments.avatar.php и plugins\jcomments\jcomments.avatar.xml

1. В файле jcomments.avatar.xml перед строкой:

Код
<option value="agora">Agora Forum</option>

вставляем:
 
Код
<option value="com_user">Com_User</option>

2. В файле jcomments.avatar.php после строки 358 вставляем:

Код
case 'com_user':
        if (count($users)) {
        $db->setQuery('SELECT id, avatar FROM #__users WHERE id in (' . implode(',', $users)  . ')');
        $avatars = $db->loadObjectList('id');
unset($users);
} else {
$avatars = array();
}

for ($i=0,$n=count($comments); $i < $n; $i++) {
$userid = (int) $comments[$i]->userid;

// profile link
$comments[$i]->profileLink = $userid ? JRoute::_('index.php?option=com_user&view=user&task=edit' . $userid) : '';

// avatar
        if (isset($avatars[$userid]) && $avatars[$userid]->avatar != '') {
$comments[$i]->avatar = plgJCommentsAvatarImg($mainframe->getCfg('live_site'). '/'. $avatars[$userid]->avatar);
} else {
$comments[$i]->avatar = '';
        }
}
unset($avatars);
break;

Все. Сразу идем в админку и в параметрах плагина JComments - Avatar Источник аватаров указываем на Com_User. В поле No Avatar выбираем Custom image и в Custom NoAvatar image вставляем ссылку на наш аватар по умолчанию - images/no_avatar.png
Если получилось, то в комментариях должны отображаться аватары юзеров.

Далее если поставили модуль вывода последних комментариев, то в админке в параметрах модуля JComments Latest найти Поддержка плагинов - Да и Показывать аватары - Да. Размер указываем там же. Все.
« Последнее редактирование: 29.05.2010, 12:15:49 от jem777 »
*

viroff

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
  • потому что не все йогурты одинаково полезны...
респект. Штуку вы выложили интересную, мне хоть и не это непосредственно необходимо, но на умные мысли навело! за это +1.
щас копаю как раз загрузку файла.
« Последнее редактирование: 12.03.2010, 18:42:49 от viroff »
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
С загрузкой файла надо бы поосторожнее. Я в принципе сам не очень уверен в безопасности вышеприведенного кода. Чревато, знаете ли. ;)
Просто хотелось бы, для уверенности, чтобы более опытные товарищи указали или проверили на ошибки, если они есть.  ::)

ps: аватар ярый ;D
*

viroff

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
  • потому что не все йогурты одинаково полезны...
http://docs.joomla.org/Creating_a_file_uploader_in_your_component - вот тут можно посмотреть (но там про аплоад немного)
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Спасибо, любопытно.
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
На здоровье! Отпишитесь как получится? Будет интересно посмотреть. ;)
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Кстати, если хочется загружать анимированные GIF без изменений, то в  function save() надо просто закомментировать эти строки:

Код
else if ($size_img[2]==1) $src_img = imagecreatefromgif($avatar);

Код
else if ($size_img[2]==1) imagegif($dest_img, $avatar); 


В комментариях отображение будет анимированным.
*

MMONSTERR

  • Захожу иногда
  • 59
  • 3 / 0
Очень легко решить проблемму с перезаписью аватара и удалением записи.
1. Надо сохранять в постоянное имя id_avatar.jpg
2. И также удалять (но с удалением еще подумать  ^-^ )
*

MMONSTERR

  • Захожу иногда
  • 59
  • 3 / 0
Можно я проматерюсь!

Но у вас в начале функция где загрузка файла, загрузка и обработка файла норм ... но вот запись в бд там полная Ж***

вот как примерно должно быть

Код
//Update user avatar
$id = $_POST["id"];
    if(!empty($_FILES["avatar"]))
{
[b]$db = JFactory::getDBO();[/b]
$query = "UPDATE #__users SET avatar = '62_avatar.jpg' WHERE id = $id";
echo $query;
$db->setQuery( $query );
[b]$db->query();[/b]
$rows = $db->loadObjectList();
$avatar = $rows[0]->avatar;

}
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
С удалением записи в БД и его обновлением проблем у меня не было. Проблема была с самим файлом, который при определенных условиях (указано выше) не удаляется с диска. Просто я там не совсем смог реализовать корректно обработку формы. Ну это вообще как пример. Можете переделывать под себя как угодно. Если захотите поделиться с людьми своим решением - будет совсем хорошо.  8)
*

imcool

  • Новичок
  • 7
  • 0 / 0
как я понял из кода юзер присоединяет файл и после сохраняет.. то есть  без привью?! я прав?! а если я прав как сделать привью?! подмагните советом! аяксом не хочетсо, так как совсем не знаю...
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Как раз с превью. Он делает аватар по заданному размеру. GIF оставил без изменения для анимированных аватаров. Можно расскомментировать в исходнике и аватары будут обработаны и уменьшены, но анимации не будет.
*

lexx74

  • Захожу иногда
  • 158
  • 1 / 0
На локалке все работало замечательно, перенес на сервак и при загрузки любого файла формата JPG JPEG PNG пишет

Извините, но разрешена загрузка файлов только jpeg, GIF и PNG.

файлы 80*80 права на папку images/avatars 777

может еще какая нить папка нужна для записи или чтото еще?

Повторюсь на локале все прекрасно грузилось
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
По первому вопросу это значит, что код вставляется после:
Код
<?php if($this->user->get('password')) : ?>
<tr>
<td>
<label for="password">
<?php echo JText::_( 'Password' ); ?>:
</label>
</td>
<td>
<input class="inputbox validate-password" type="password" id="password" name="password" value="" size="40" />
</td>
</tr>
<tr>
<td>
<label for="password2">
<?php echo JText::_( 'Verify Password' ); ?>:
</label>
</td>
<td>
<input class="inputbox validate-passverify" type="password" id="password2" name="password2" size="40" />
</td>
</tr>
<?php endif; ?>

По второму вопросу: используйте специализированные редакторы, которые умеют показывать номера строк. Например Notepad++. Запустив его, сразу увидите слева номера строк, по которым очень легко отыскать нужный участок кода.
*

mariczzz

  • Новичок
  • 2
  • 0 / 0
Небольшое добавление: иногда залитые на сервак аватары имеют права доступа что-то типа 0600 (то бишь файл физически присутствует, но посмотреть его в браузере низзя). Решается это вставкой команды:

Код
chmod ($avatar, 0644);

сразу после команды

Код
move_uploaded_file($file,$avatar);

в файле components\com_user\controller.php

А вообще автор молодец!
*

mariczzz

  • Новичок
  • 2
  • 0 / 0
Еще мои юзвери баг нашли - аватарки PNG отображаются криво (прозрачные пиксели становятся черными). Закоментировал вызов
Код
resizeimg($avatar, $width, $height);

в файле components\com_user\controller.php - все стало норм
ЗЫ. Не стал разбираться, но чисто из любопытства - а накой нужно изменять размеры аватарки?
*

LigthScribe

  • Новичок
  • 1
  • 0 / 0
Хочется еще добавить что в файле \com_user\views\user\tmpl\form.php
все обращения нужно escape.

вместо

 <?php if($this->user->get('avatar')) : ?>

нужно

 <?php if($this->escape($this->user->get('avatar'))) : ?>

Без escape опасно как-то получается
*

goga_pgasovav

  • Захожу иногда
  • 443
  • 6 / 0
  • Внимательный джумловод
Очень прошу помочь с решением проблемы!
Когда загружаешь с фронтенда аватар четко подогнанного размера (к примеру 80х80) прозрачное PNG изображение, то прозрачность заменяется на черный цвет.
Если увеличить значения $width = 80; и $height = 80; (в файле controller.php) хотябы на еденицу (т.е. 81 и 81 соответственно), то баг не проявляется.
Баг так же не проявляется если загружать прозрачную PNG большего или меньшего, нежели 80х80, размера!

P.S.: с прозрачными GIF-изображениями такого не наблюдается...

UPD!
Решение нашлось само собой  ^-^
Примерно в строке 157 (после «// Если размеры меньше, то масштабирования не нужно»)
необходимо заменить «<» на «<=»  следующим образом:

Было:
Код
if (($width_src<$width) && ($height_src<$height))

Стало:
Код
if (($width_src<=$width) && ($height_src<=$height))

и все будет в шоколаде ;)
« Последнее редактирование: 26.01.2012, 03:58:56 от goga_pgasovav »
*

igorpank

  • Новичок
  • 9
  • 0 / 0
Еще от себя добавлю) В файле controller.php, заменить строку
Код
echo 'Извините, но разрешена загрузка файлов только JPEG, GIF и PNG.';
exit;
на
Код
$msg = JText::_('Извините, но разрешена загрузка файлов только JPEG, GIF и PNG.');
$return = @$_SERVER['HTTP_REFERER'];
if (empty($return) || !JURI::isInternal($return)) {
$return = JURI::base();
}
$this->setRedirect($return, $msg, 'error');
return false;
}

и
Код
if ($file_size > 100*1024) die('Извините, объем файла не должен превышать 100 KB. Измените фото и попробуйте еще раз.');
на
Код
if ($file_size > 100*1024) {
$msg = JText::_('Извините, объем файла не должен превышать 100 KB. Измените фото и попробуйте еще раз.');
$return = @$_SERVER['HTTP_REFERER'];
if (empty($return) || !JURI::isInternal($return)) {
          $return = JURI::base();
                        }
$this->setRedirect($return, $msg, 'error');
                     return false;
}

тогда сообщение об ошибке будет виводится на страницу, а не делать редирект
в шаблоне должна бить выведена позиция

Код: php
<jdoc:include type="message" />
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как и чем можно обращаться с запросами из Joomla к GraphQL?

Автор bmf1982

Ответов: 0
Просмотров: 798
Последний ответ 03.10.2019, 15:46:00
от bmf1982
Joomla как система авторизации

Автор kav

Ответов: 23
Просмотров: 2506
Последний ответ 29.04.2018, 11:10:30
от Aleks.Denezh
Нужна помощь в доработке модуля под Joomla 3

Автор kik84

Ответов: 5
Просмотров: 2488
Последний ответ 30.01.2018, 22:40:30
от Елeна
SP Features добавление дополнительного блока

Автор 12mv

Ответов: 5
Просмотров: 2773
Последний ответ 15.11.2015, 14:22:57
от Филипп Сорокин
Как отучить Joomla стартовать session для гостей?

Автор commeta

Ответов: 8
Просмотров: 3233
Последний ответ 20.08.2015, 14:06:38
от acyp