Новости Joomla

Вышли релизы безопасности Joomla 6.1.3 и Joomla 5.4.8

Релиз безопасности Joomla 6.1.3 и Joomla 5.4.8

Проект Joomla! рад сообщить о выходе Joomla 6.1.3 и Joomla 5.4.8. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

Joomla 5+ пакет для интеграции с API Почты России: нормализация данных, расчёт доставки, создание отправлений, партии, документы, возвраты, поиск отделений, справочники и SOAP-отслеживание.

v.3.0.0. Что нового?
Это дальнейшее развитие ранее закрытой Joomla-библиотеки для работы с API сервиса Отправка (для бизнеса) Почты России. Поэтому версия не 1.0.0, а 3.0.0.

Сейчас эта библиотека ушла от собственных реализаций и стала Joomla-обёрткой известного PHP SDK от Lapay Group.

Возможности библиотеки.
- получение настроек аккаунта, точек сдачи и текущего остатка запросов к API;
- нормализация адресов, ФИО и телефонов перед созданием отправления;
- расчёт тарифа и срока доставки;
- создание, поиск, изменение, удаление и возврат заказов в состояние «Новые»;
- проверка надёжности получателя;
- создание партий, просмотр партий и заказов внутри партии;
- генерация пакета печатных документов и формы Ф103;
- создание, изменение и удаление возвратных отправлений;
- поиск отделений по индексу, адресу и координатам, получение сервисов отделения;
- локальный список стран;
- SOAP-отслеживание операций по РПО и работа с билетами пакетного трекинга.

👩‍💻 Joomla-возможности.
В пакете библиотеки WT Otpravkapochtaru есть поля Joomla Form для расширений. Они позволяют работать в интерфейсе Joomla с некоторыми типами данных, получаемых по API из вашего личного кабинета в ЛК Почты России для бизнеса.
На данный момент в библиотеке доступны 3 поля списков, которые отображают доступные в аккаунте ОПС, типы и категории отправлений.
Поддерживаются зависимые списки: значение одного поля обновляется при изменении другого.

Системные требования.
Системные требования в основном связаны с системными требованиями апстрима библиотеки - LapayGroup PHP SDK.
- Joomla 5+
- PHP 8.3+
- Расширения PHP:
-- ext-mbstring
-- ext-simplexml
-- ext-soap (опционально, для трекинга)
-- ext-zip

Ссылки:
- Страница расширения
- GitHub библиотеки и документация

@joomlafeed

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

art22

  • Захожу иногда
  • 332
  • 2 / 0
Добрый день друзья. использую шаблон http://joomla.vinagecko.com/templates/?template=vina_shoeshop

подскажите как  правильно увеличить цветные  картинки в атрибуте при нажатии?  нашел код прописал но немного криво отображается.

добавил  перед <img src=

<a ' class='lightbox' href='".$jshopConfig->image_attributes_live_path."/".$v2->image."' alt='".$v2->value_name."' />


картинки во весь размер отображаются. При изменении размера изменяется еще размер основной фотографии. Как это все грамотно сделать?

прикрепляю код который отвечает за атрибутов



             
// attribut type select
                
                    
if ($jshopConfig->attr_display_addprice){
                        foreach(
$options as $k2=>$v2){
                            if ((
$v2->price_mod=="+" || $v2->price_mod=="-") && $v2->addprice>0){ 
                                
$ext_price_info " (".$v2->price_mod.formatprice($v2->addprice).")";
                                
$options[$k2]->value_name .=$ext_price_info;
                            }
                        }
                    }

                    if (
$jshopConfig->product_attribut_first_value_empty){
                        
$first = array();
                        
$first[] = JHTML::_('select.option''0'_JSHOP_SELECT'val_id','value_name');
                        
$options array_merge($first$options);
                    }
                    
                    if (isset(
$attributeActive[$attr_id]) && isset($attrimage[$attributeActive[$attr_id]])){
                        
$_active_image $attrimage[$attributeActive[$attr_id]];
                    }else{
                        
$_active_image '';
                    }
                    if (isset(
$attributeActive[$attr_id])){
                        
$_select_active $attributeActive[$attr_id];
                    }else{
                        
$_select_active '';
                    }
                    
$selects[$attr_id]->selects JHTML::_('select.genericlist'$options'jshop_attr_id['.$attr_id.']','class = "inputbox" size = "1" onchange="setAttrValue(\''.$attr_id.'\', this.value);"','val_id','value_name'$_select_active)."<span class='prod_attr_img'>".$this->getHtmlDisplayProdAttrImg($attr_id$_active_image)."</span>";
                    
$selects[$attr_id]->selects str_replace(array("\n","\r","\t"), ""$selects[$attr_id]->selects);
                }else{
                
// attribut type radio
                
                    
foreach($options as $k2=>$v2){
                        if (
$v2->image$options[$k2]->value_name "<img src='".$jshopConfig->image_attributes_live_path."/".$v2->image."' alt='' /> ".$v2->value_name;
                    }

                    if (
$jshopConfig->attr_display_addprice){
                        foreach(
$options as $k2=>$v2){
                            if ((
$v2->price_mod=="+" || $v2->price_mod=="-") && $v2->addprice>0){ 
                                
$ext_price_info " (".$v2->price_mod.formatprice($v2->addprice).")";
                                
$options[$k2]->value_name .=$ext_price_info;
                            }
                        }
                    }

                    
$radioseparator '';
                    if (
$jshopConfig->radio_attr_value_vertical$radioseparator "<br/>"
                    foreach(
$options as $k2=>$v2){
                        
$options[$k2]->value_name "<span class='radio_attr_label'>".$v2->value_name."</span>";
                    }

                    
$selects[$attr_id]->selects sprintRadioList($options'jshop_attr_id['.$attr_id.']','onclick="setAttrValue(\''.$attr_id.'\', this.value);"','val_id','value_name'$attributeActive[$attr_id], $radioseparator);
                    
$selects[$attr_id]->selects str_replace(array("\n","\r","\t"), ""$selects[$attr_id]->selects);
                }
                
$dispatcher->trigger('onBuildSelectAttribute', array(&$attributeValues, &$attributeActive, &$selects, &$options, &$attr_id, &$v));
            }
        }
    return 
$selects;
    }

    function 
getHtmlDisplayProdAttrImg($attr_id$img){
        
$jshopConfig JSFactory::getConfig();
        if (
$img){
            
$path $jshopConfig->image_attributes_live_path;
        }else{
            
$path $jshopConfig->live_path."images";
            
$img "blank.gif";
        }
        
$urlimg $path."/".$img;
        
        
$html '<img id="prod_attr_img_'.$attr_id.'" src="'.$urlimg.'" alt="" />';
        return 
$html;
    }

}
?>

*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Попробуйте закрыть тэг a  после <img /></a> .
Вообще у вас что-то странное и удивительное: <a ' class='lightbox' href='".$jshopConfig-> такое вообще не может быть.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

art22

  • Захожу иногда
  • 332
  • 2 / 0
когда закрывал  тег а выходила ошибка, может не так делал не знаю(

данный код я просто скопировал с img превратил в а  методом тыка. по этому сюда написал чтобы узнать как правильно сделать
*

art22

  • Захожу иногда
  • 332
  • 2 / 0
получился такой код

 if ($v2->image) $options[$k2]->value_name = "<a  class='lightbox' href='".$jshopConfig->image_attributes_live_path."/".$v2->image."' alt='".$v2->value_name."' /><img src='".$jshopConfig->image_attributes_live_path."/".$v2->image."' alt='".$v2->value_name."' /></a><span>".$v2->value_name;

Единственное при нажатии на основные картинки слева, исчезают атрибуты из-за style="display: none;"  думаю класс lightbox отвечает за данный тег, но как то можно сделать так чтобы не исчез? Пытался вручную прописать display: block; чтобы не удалялся, но принудительно меняет на none как с этим бороться скажите пожалуйста?:
« Последнее редактирование: 01.05.2023, 12:00:32 от art22 »
*

sivers

  • Живу я здесь
  • 2626
  • 363 / 0
через CSS или через тег <style> прописать для элемента display: block !important; (по селектору).
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

art22

  • Захожу иногда
  • 332
  • 2 / 0
получился спасибо) Единственное второй класс прописал, а то не получился через стайл сделать удалял так же.
« Последнее редактирование: 02.05.2023, 00:24:51 от art22 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Блог категории, как вывести информацию под изображение

Автор fencer2

Ответов: 1
Просмотров: 1775
Последний ответ 27.03.2019, 14:14:53
от draff
Как в списке всех категорий увеличить длину заголовков?

Автор bas700

Ответов: 1
Просмотров: 876
Последний ответ 26.09.2017, 19:07:12
от effrit
шаблон Helix 3 фоновое изображение

Автор Paradox

Ответов: 13
Просмотров: 5549
Последний ответ 04.05.2017, 08:50:53
от Serg_
Увеличить расстояние между пунктами меню

Автор ownell

Ответов: 2
Просмотров: 1681
Последний ответ 24.04.2017, 11:10:44
от ownell
Как увеличить ширину сайта?

Автор DM-Z777

Ответов: 7
Просмотров: 1585
Последний ответ 20.06.2016, 21:26:30
от DM-Z777