Новости Joomla

👩‍💻 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 Гость просматривают эту тему.
  • 3 Ответов
  • 3065 Просмотров
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Более легкое решение того как скрыть от пользователя иконки редактирования, удаления и опубликования картинок в его галерее. Это решение для тех, кто не использовал решение на верхнем посте. Данное решение от верхнего отличается тем, что для пользователя остается ссылка на "Моя галерея", куда он сможет зайти и посмотреть свои фотки. Повторяю данное решение только для пользователей, т.е. для группы Зарегистрированный, для других групп не работает.
Идем в папку Идем в папку \components\com_joomgallery\helpers находим файл helper.php находим строку:
Код
     {
          $params->set('show_mygal_no_access', 1);
        }
      }
    }
После пишем код:
Код
if(!$params->get('disable_global_info') && $config->get('jg_userspace') == 1)
    {
      if(   (($config->get('jg_showuserpanel') == 1) && ($user->get('aid') > 0))
         || (($config->get('jg_showuserpanel') > 1 ) && ($user->get('aid') == 1))
         || ($config->get('jg_showuserpanel') == 3)
        )
      {
        if($user->get('aid')!= 1)
        {
          $params->set('show_mygall', 1);
        }
        else
        {
          $params->set('show_mygall_no_access', 1);
        }
      }
    }
Далее идем в Идем в папку components\com_joomgallery\views\userpanel\tmpl ищем файл default.php в нем ищем строку:
Код
<a href="<?php echo JRoute::_('index.php?view=edit&id='.$row->id.$this->slimitstart); ?>">
            <?php echo JHTML::_('joomgallery.icon', 'edit.png', 'JGS_COMMON_EDIT'); ?></a>
        </div>
И заменим его на:
Код
       <?php 
      if($this->params->get('show_mygall')): ?>
        <a href="<?php echo JRoute::_('index.php?view=edit&id='.$row->id.$this->slimitstart); ?>">
            <?php echo JHTML::_('joomgallery.icon', 'edit.png', 'JGS_COMMON_EDIT'); ?></a></div>
     <?php endif;
      if($this->params->get('show_mygall_no_access')): ?>
         <?php echo JHTML::_('joomgallery.icon', 'download_gr.png', 'JGS_COMMON_EDIT'); ?>
        </div>
           <?php   endif; ?>
Здесь иконку Редактировать сделали не кликабельной.

Далее в этом же файле находим строку:
Код
<a href="javascript:if(confirm('<?php echo JText::_('JGS_COMMON_ALERT_SURE_DELETE_SELECTED_ITEM', true); ?>')){ location.href='<?php echo JRoute::_('index.php?task=delete&id='.$row->id.$this->slimitstart, false);?>';}">
            <?php echo JHTML::_('joomgallery.icon', 'edit_trash.png', 'JGS_COMMON_DELETE'); ?></a>
        </div>
Заменим его на:
Код
<?php 
      if($this->params->get('show_mygall')): ?>
        <a href="javascript:if(confirm('<?php echo JText::_('JGS_COMMON_ALERT_SURE_DELETE_SELECTED_ITEM', true); ?>')){ location.href='<?php echo JRoute::_('index.php?task=delete&id='.$row->id.$this->slimitstart, false);?>';}">
            <?php echo JHTML::_('joomgallery.icon', 'edit_trash.png', 'JGS_COMMON_DELETE'); ?></a></div>
       <?php endif;
      if($this->params->get('show_mygall_no_access')): ?>
         <?php echo JHTML::_('joomgallery.icon', 'download_gr.png', 'JGS_COMMON_DELETE'); ?>
          </div>        
          <?php   endif; ?>
Здесь иконку Удалить сделали не кликабельной.
Иконка download_gr.png в папке components\com_joomgallery\assets\images дана только для примера, вам же следует найти подходящую иконку для редактирования и удаления или преобразовать их в серый цвет и засунуть их в эту же папку, но иконку download_gr.png ЗАМЕНЯТЬ НЕ СЛЕДУЕТ.

Далее ищем:
Код
         <a href="<?php echo JRoute::_('index.php?task=publishimage&id='.$row->id.$this->slimitstart); ?>"<?php echo JHTML::_('joomgallery.tip', $p_text, $p_title, true, false); ?>>
            <?php echo JHTML::_('joomgallery.icon', $p_img.'.png', $p_img); ?></a><?php
        if($row->published && $row->hidden):
          $h_title = JText::_('JGS_COMMON_HIDDEN_ASTERISK');
          $h_text  = JText::_('JGS_COMMON_PUBLISHED_BUT_HIDDEN');
          echo '<span'.JHTML::_('joomgallery.tip', $h_text, $h_title, true, false).'>'.JText::_('JGS_COMMON_HIDDEN_ASTERISK').'</span>';
          $display_hidden_asterisk = true;
        endif; ?>
        </div>
<?php   if($this->_config->get('jg_approve')):
          $a_img = 'cross';
          if($row->approved):
            $a_img = 'tick';
          endif; ?>
        <div class="jg_up_eappr">
          <?php echo JHTML::_('joomgallery.icon', $a_img.'.png', $a_img); ?>
        </div>
<?php   endif; ?>
      </div>
    </div>
И заменим его на:
Код
         <?php 
      if($this->params->get('show_mygall')): ?>
        <a href="<?php echo JRoute::_('index.php?task=publishimage&id='.$row->id.$this->slimitstart); ?>"<?php echo JHTML::_('joomgallery.tip', $p_text, $p_title, true, false); ?>>
            <?php echo JHTML::_('joomgallery.icon', $p_img.'.png', $p_img); ?></a>
        <?php endif;
      if($this->params->get('show_mygall_no_access')): ?>
              <?php echo JHTML::_('joomgallery.icon', $p_img.'.png', $p_img); ?></a><?php
        if($row->published && $row->hidden):
          $h_title = JText::_('JGS_COMMON_HIDDEN_ASTERISK');
          $h_text  = JText::_('JGS_COMMON_PUBLISHED_BUT_HIDDEN');
          echo '<span'.JHTML::_('joomgallery.tip', $h_text, $h_title, true, false).'>'.JText::_('JGS_COMMON_HIDDEN_ASTERISK').'</span>';
          $display_hidden_asterisk = true;
        endif; ?>
       <?php endif; ?> </div>
   <?php   if($this->_config->get('jg_approve')):
          $a_img = 'cross';
          if($row->approved):
            $a_img = 'tick';
          endif; ?>
        <div class="jg_up_eappr">
          <?php echo JHTML::_('joomgallery.icon', $a_img.'.png', $a_img); ?>
        </div>
<?php   endif; ?>
      </div>
    </div>
Здесь иконку Опубликовать сделали не кликабельной.

Теперь пользователь зайдя в свою галерею не сможет ни редактировать, ни удалить, ни опубликовать свои картинки, что очень полезно для админа сайта. В файле русификации тексты оредактируйте под свое (смотрите верхний пост).

Примерно также можно сделать для детального вида и категорий, чтобы иконки были некликабельны или вообще не показывались пользователям.
« Последнее редактирование: 06.01.2012, 19:29:20 от Garum »
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
В этом посте http://joomlaforum.ru/index.php/topic,165721.msg1028413.html#msg1028413, что я писал выше, возникает ошибка в категории, если картинок больше одного. В связи с этим я рекомендую заменить все коды (детальный вид можете оставить, он работает) в посте на следующие.
Для изменения в детальном просмотре фоток идем в components\com_joomgallery\views\detail\tmpl находим файл  default.php, и вней ищем строку:
Код
<?php echo $this->image->hits; ?>  
После пишем код:
Код
<?php
$count = $this->image->hits;
 $users = array('раз', 'раз', 'раза');
$index = $count % 100;
if ($index >=11 && $index <= 14) $index = 0;
else $index = ($index %= 10) < 5 ? ($index > 2 ? 2 : $index): 0;
echo $users[$index];   ?>

Так же изменим в категории с мини картинками. Идем в папку components\com_joomgallery\views\category\tmpl ищем файл default_images.php, найдем строку:
 
Код
<?php echo JText::sprintf('JGS_COMMON_HITS_VAR', $row->hits); ?>

после него добавим строку:
Код
<?php
$count=$row->hits;
 $users = array('раз', 'раз', 'раза');
$index = $count % 100;
if ($index >=11 && $index <= 14) $index = 0;
else $index = ($index %= 10) < 5 ? ($index > 2 ? 2 : $index): 0;
echo $users[$index];   ?>
Проверяйте на работоспособность.

« Последнее редактирование: 06.01.2012, 13:58:44 от Garum »
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Если у вас оценки в тестовом виде и написано к примеру так: 3,00 (5 оценки), то я предалагаю слово оценки склонять в зависимости от цифры, т.е. правильнее было бы так:  3,00 (5 оценок). Для этого идем в папку components\com_joomgallery\helpers\html ищем файл JoomGallery.php и сразу после строки:
Код
 // Standard rating output as text
пишем код:
Код
$count=$image->imgvotes;
 $rate = array('оценок', 'оценка', 'оценки');
$index = $count % 100;
if ($index >=11 && $index <= 14) $index = 0;
else $index = ($index %= 10) < 5 ? ($index > 2 ? 2 : $index): 0;
Затем заменяем строку:
Код
$html = $rating.' ('.$image->imgvotes.' '.  JText::_('JGS_COMMON_ONE_VOTE'). ')';

на:
Код
 $html = $rating.' ('.$image->imgvotes.' '. $rate[$index].')';
и еще одну строку:
Код
$html = $rating.' ('.$image->imgvotes.' '.  JText::_('JGS_COMMON_VOTES'). ')';
Заменим на:
Код
$html = $rating.' ('.$image->imgvotes.' '. $rate[$index].')';
Теперь слово оценки будет склоняться в зависимости от количества оценок
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
По умолчанию поиск в галере не ищет ключевые слова картинок. Чтобы это исправить надо пойти в папку components\com_joomgallery\models и зайти в файл search.php, затем находим код:
Код
  OR a.imgtitle       LIKE '%$searchstring%'
И после пишем:
Код
OR a.metakey       LIKE '%$searchstring%'
Теперь поиск в галерее ищет и ключевые слова.

Если хотите можете также добавить код:
Код
OR a.metadesc      LIKE '%$searchstring%'
Теперь поиск заденет еще и мета описание картинки.
С вас много плюсов!
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться