Новости 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 Гость просматривают эту тему.
  • 11 Ответов
  • 8020 Просмотров
*

den_caruk

  • Захожу иногда
  • 64
  • 2 / 0
Есть скрипт вывода изображений из папки, но когда путь к папке прописать статически  в переменную $dir, то картинки отображаются только на главной странице сайта. Как можно прописать универсальный путь templates/vistula/images/mini/  в переменную $dir?
Код
<?php
   $root =  JPATH_SITE;
    $dir = $root . '/templates/vistula/images/mini/';  // Папка с изображениями
  $cols = 14; // Количество столбцов в будущей таблице с картинками
  $files = scandir($dir); // Берём всё содержимое директории
  echo "<table>"; // Начинаем таблицу
  $k = 0; // Вспомогательный счётчик для перехода на новые строки
  for ($i = 0; $i < count($files); $i++) { // Перебираем все файлы
    if (($files[$i] != ".") && ($files[$i] != "..")) { // Текущий каталог и родительский пропускаем
      if ($k % $cols == 0) echo "<tr>"; // Добавляем новую строку
      echo "<td>"; // Начинаем столбец
      $path = $dir.$files[$i]; // Получаем путь к картинке
      echo "<a href='$path'>"; // Делаем ссылку на картинку
      echo "<img src='$path' alt='' width='100' />"; // Вывод превью картинки
      echo "</a>"; // Закрываем ссылку
      echo "</td>"; // Закрываем столбец
      /* Закрываем строку, если необходимое количество было выведено, либо данная итерация последняя */
      if ((($k + 1) % $cols == 0) || (($i + 1) == count($files))) echo "</tr>";
      $k++; // Увеличиваем вспомогательный счётчик
    }
  }
  echo "</table>"; // Закрываем таблицу
?>  
« Последнее редактирование: 18.05.2013, 22:49:53 от den_caruk »
*

den_caruk

  • Захожу иногда
  • 64
  • 2 / 0
Re: Вывести изображения из папки
« Ответ #1 : 18.05.2013, 22:48:54 »
Пробовал еще так выводить
Код
 $dir = $_SERVER['DOCUMENT_ROOT'] . '/templates/vistula/images/mini/' ; 
тоже не пашет
*

doctorgrif

  • Давно я тут
  • 745
  • 82 / 1
  • Нудный доктор
Re: Вывести изображения из папки
« Ответ #2 : 19.05.2013, 10:06:12 »
Пробовал еще так выводить
Код
 $dir = $_SERVER['DOCUMENT_ROOT'] . '/templates/vistula/images/mini/' ; 
тоже не пашет
вместо
Код
$_SERVER['DOCUMENT_ROOT'] 
используй
Код
$mosConfig_absolute_path
либо
Код
$mosConfig_live_site
Омск-Екатеринбург-Челябинск...Feldzug gen Westen | Кафедра | GrayBox | Joostina 1.2.1 | Joostina Extensions | In Vino Veritas [в работе]
*

den_caruk

  • Захожу иногда
  • 64
  • 2 / 0
Re: Вывести изображения из папки
« Ответ #3 : 19.05.2013, 12:15:27 »
Спасибо за ответ.
Используя
Код
$_SERVER['DOCUMENT_ROOT']
и
Код
$mosConfig_absolute_path
обработка идет, но картинки не выводятся

вот пример обработки
Код
<img src='Z:\home\site.com\www/templates/vistula/images/mini/Alior-Bank_partnermaly.jpg' alt='' width='100' />

слеши в разные стороны.....
*

den_caruk

  • Захожу иногда
  • 64
  • 2 / 0
Re: Вывести изображения из папки
« Ответ #4 : 19.05.2013, 17:22:04 »
По идее такой скрипт должен заменить все обратные слеши
Код
define('IRB_ROOT', str_replace('\\', '/', $_SERVER['DOCUMENT_ROOT']).'/');
Код
$mosConfig_absolute_path
делает тоже самое, что и
Код
$_SERVER['DOCUMENT_ROOT'])
слеши я исправил, но изображения все равно не выводятся, в путях проблема.
я дошел до такого
Код
<img src='Z:/home/site.com/www/templates/vistula/images/mini/Alior-Bank_partnermaly.jpg' alt='' width='100' />
а нужно, чтобы выводило
Код
<img src='http://site.com/templates/vistula/images/mini/Alior-Bank_partnermaly.jpg' alt='' width='100' />
Пробовал также через
Код
$mosConfig_live_site
выбивает такую ошибку
Код
<b>Warning</b>:  scandir(http://vistula.com/templates/vistula/images/mini/) [<a href='function.scandir'>function.scandir</a>]: failed to open dir: not implemented in <b>Z:\home\vistula.com\www\templates\vistula\index.php</b> on line <b>106</b><br />
<script language=JavaScript src='/denwer/errors/phperror_js.php'></script><!--error--><br />
<b>Warning</b>:  scandir() [<a href='function.scandir'>function.scandir</a>]: (errno 2): No such file or directory in <b>Z:\home\vistula.com\www\templates\vistula\index.php</b> on line <b>106</b><br />
<script language=JavaScript src='/denwer/errors/phperror_js.php'></script><table><tr><td><a href='http://vistula.com/templates/vistula/images/mini/'><img src='http://vistula.com/templates/vistula/images/mini/' alt='' width='100' /></a></td></tr></table>
« Последнее редактирование: 19.05.2013, 21:07:06 от den_caruk »
*

doctorgrif

  • Давно я тут
  • 745
  • 82 / 1
  • Нудный доктор
Re: Вывести изображения из папки
« Ответ #5 : 20.05.2013, 16:05:55 »
не могу понять, где затык
зачем отдельный скрипт для слешей, если это делается переменной из ядра?
универсальный вывод из папки с изображениями:
Код
$mosConfig_live_site.'/images/your_path
либо если картинки в папке шаблона
Код
$mosConfig_absolute_path.'/templates/'.$mainframe->getTemplate().'/images/your_img
mosConfig_absolute_path выдаст именно Z:/home/site.com/www/...
а mosConfig_live_site - http://site.com/
и зачем изобретать велосипед? есть mod_random_image посмотри как организован вывод там

ну и так, для себя, а разве JPATH_SITE есть в joostina? :) может именно в этом проблема?
Омск-Екатеринбург-Челябинск...Feldzug gen Westen | Кафедра | GrayBox | Joostina 1.2.1 | Joostina Extensions | In Vino Veritas [в работе]
*

den_caruk

  • Захожу иногда
  • 64
  • 2 / 0
Re: Вывести изображения из папки
« Ответ #6 : 20.05.2013, 18:22:39 »
В модуле random image
пути прописаны через
Код
// construct absolute path to directory
$abspath_folder = JPATH_BASE . $folder;
у меня joostina 1.3 на официальном сайте говорят что это последняя стабильная версия и тут есть JPATH_BASE
Эта функция делает тоже самое что и mosConfig_live_site
если их вывести echo "JPATH_BASE"; или echo"mosConfig_live_site"; то выводится правильный путь
обработчик пишет, что проблема с функцией scandir. Видно, что он доходит до конечной папки, и не может просканировать, может что то тут не так с настройками PHP
Но, если прописать путь
Код
templates/vistula/images/mini/
  то показывает, но только на главной странице
*

den_caruk

  • Захожу иногда
  • 64
  • 2 / 0
Re: Вывести изображения из папки
« Ответ #7 : 21.05.2013, 00:05:00 »
Еще более простой код вывода изображений
Код
<?php
$root =$mosConfig_live_site . '/mini/' ;
foreach (scandir($root) as $im)
{
if ($im == '.' || $im == '..') continue;
$rez= '<img src=  "'.$root.'' .$im.'"   /><br />';
echo $rez;
}
?>
что же тут может быть не так??
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Вывести изображения из папки
« Ответ #8 : 21.05.2013, 01:11:56 »
FireBug должен показать путь к картинке. 99% что ошибка в пути. Можно и так: папка /mini/ в корне сайта
$rez= '<img src=  "/mini/'.$im.'"   /><br />';
и парочку примеров Ищу расширение изменяющее background сайта при обновлении странички
*

den_caruk

  • Захожу иногда
  • 64
  • 2 / 0
Re: Вывести изображения из папки
« Ответ #9 : 21.05.2013, 01:40:42 »
FireBug должен показать путь к картинке. 99% что ошибка в пути. Можно и так: папка /mini/ в корне сайта
$rez= '<img src=  "/mini/'.$im.'"   /><br />';
и парочку примеров Ищу расширение изменяющее background сайта при обновлении странички


так как вы указали, работает, но только для главной страницы. SEF компонент жустины генерирует так ссылки, что для внутренних страниц ссылки на картинку получаются типа
Код
http://site.com/content/view/29/45/templates/vistula/images/mini/demo.jpg
а изображения находятся по адресу
Код
http://site.com/templates/vistula/images/mini/demo.jpg
получается, что надо подвязать этот скрипт под жустину указав универсальный адрес, типа 
Код
$root =$mosConfig_live_site . '/templates/vistula/images/mini/' ;
но, если взять
Код
 echo $root;
то покажет
Код
http://site.com/content/view/29/45/templates/vistula/images/mini/
но, доходит до scandir и выдает ошибку....
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Вывести изображения из папки
« Ответ #10 : 21.05.2013, 01:50:41 »
rez= '<img src=  "/templates/vistula/images/mini/'.$im.'"   /><br />';
Или править SEF компонент
*

den_caruk

  • Захожу иногда
  • 64
  • 2 / 0
Re: Вывести изображения из папки
« Ответ #11 : 21.05.2013, 14:48:01 »
Вот рабочий код mod random image
Код
// if folder includes livesite info, remove
if ( strpos($folder,JPATH_SITE) === 0 ) {
$folder = str_replace( JPATH_SITE, '', $folder );
}
// if folder includes absolute path, remove
if ( strpos($folder, JPATH_BASE) === 0 ) {
$folder= str_replace( JPATH_BASE, '', $folder );
}
// if folder doesnt contain slash to start, add
if ( strpos($folder, '/')!== 0 ) {
$folder = '/'. $folder;
}
// construct absolute path to directory
$abspath_folder = JPATH_BASE . $folder;
// check if directory exists
if (is_dir($abspath_folder)) {
if ($handle = opendir($abspath_folder)) {
while (false !== ($file = readdir($handle))) {
if ($file != '.' && $file != '..' && $file != 'CVS' && $file != 'index.html' ) {
$the_array[] = $file;
}
}
}
closedir($handle);

foreach ($the_array as $img) {
if (!is_dir($abspath_folder .'/'. $img)) {
if (preg_match("/".$type."/i", $img)) {
$the_image[] = $img;
}
}
}

if (!$the_image) {
echo _NO_IMAGES;
}else {

$count = count($the_image);
$i=0;
$k=1;

$pics = array();

foreach ($the_image as $v) {

if(!$rotate_type) {
$random = mt_rand(0, $count - 1);
$v = $the_image[$random];
$image_name = $v;
}

$abspath_image = $abspath_folder . '/'. $v;
$size = getimagesize ($abspath_image);

if ($width == '') {
($size[0] > 100 ? $width = 100 : $width = $size[0]);
}

if ($height == '') {
$coeff = $size[0]/$size[1];
$height = (int) ($width/$coeff);
}

$image = JPATH_SITE . $folder . '/' . $v;

if(!$rotate_type) {
break;
} else {
if($img_pref) {
if(strpos($v, $img_pref)!==false) {
$pics[$i]='["'.$image.'", "'.$link.'", "_self"]';
$i++;
}
}
else {
$pics[$i]='["'.$image.'", "'.$link.'", "_self"]';
$i++;
}
}
}
switch ($rotate_type) {
case '0':
default:
?><div class="random_image">
<?php if ($link) { ?>
<a href="<?php echo $link; ?>" target="_self">
<?php } ?>
<img src="<?php echo $image; ?>" border="0" width="<?php echo $width; ?>" height="<?php echo $height; ?>" alt="<?php echo $image_name; ?>" />
<?php if ($link) { ?>
</a>
<?php } ?>
</div>

тут все выводится через
Код
JPATH_SITE
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[решено] Как в шаблоне вывести разные элементы страницы?

Автор Ag1r

Ответов: 2
Просмотров: 2581
Последний ответ 03.04.2009, 12:10:11
от Ag1r