Новости Joomla

👩‍💻 WT CDEK library v.1.3.0 - обновление PHP SDK для Joomla + CDEK.

👩‍💻 WT CDEK library v.1.3.0 - обновление PHP SDK для Joomla + CDEK.

Небольшая нативная PHP Joomla библиотека для работы с API v.2 службы доставки CDEK. Библиотека представляет собой клиент для авторизации в CDEK API по OAuth, работы с некоторыми методами API: получения ряда данных и расчета стоимости доставки. Поддерживается Joomla 4.2.7 и выше.

В пакет входят:
- библиотека Webtolk/Cdekapi
- системный плагин System - WT Cdek для хранения настроек и AJAX-интеграций
- task-плагин Task - Update WT Cdek data для обновления локальных копий справочников CDEK по расписанию
- web asset с официальным JavaScript-виджетом СДЭК

👉 v.1.3.0. Что нового?
- Полный рефакторинг библиотеки. Библиотека переработана в entity-based API с фасадом Cdek и отдельным слоем запросов. Обратная совместимость не нарушена, поэтому версия библиотеки - 1.3.0.
- Добавлена поддержка новых разделов API СДЭК. Добавлена поддержка новых разделов API СДЭК: webhooks, prealert, печатные формы, payment, passport, reverse, intakes и других сущностей.
- Улучшена интеграция с Joomla.
Улучшена интеграция с Joomla: installer script для layouts, новые поля Joomla Form для тарифов и обновлённые js виджета CDEK.
- документация библиотеки. Все методы библиотеки подробно описаны, а так же текст документации собран в отдельной папке в git репозитории и будет опубликован на сайте.

Библиотека эта нужна для разработчиков, создающих свои расширения для интеграции Joomla и курьерской службы CDEK.

Страница расширения
GitHub расширения

@joomlafeed

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

alexkrin

  • Новичок
  • 8
  • 0 / 0
  • Вечный школьнег
Доброго времени суток!

У меня возникла следующая проблема при настройке VirtueMart 1.1.4. Дело касается вывода сопутствующих товаров. Мне необходимо выводить около 9 позиций сопутствующих товаров в карточке товара. Изменить количество товаров я могу, а вот как сделать так, чтобы они отражались не в одну строчку, а в несколько? Например в 3 ряда по 3 товара в каждом.... Помогите, пожалуйста.
Насколько я понимаю, изменения необходимо внести здесь: /administrator/components/com_virtuemart/html/shop.product_details.php  
Вот этот код:

Код
// Let's have a look wether the product has related products.
$q = "SELECT product_sku, related_products FROM #__{vm}_product,#__{vm}_product_relations ";
$q .= "WHERE #__{vm}_product_relations.product_id='$product_id' AND product_publish='Y' ";
$q .= "AND FIND_IN_SET(#__{vm}_product.product_id, REPLACE(related_products, '|', ',' )) LIMIT 3, 9";
$db->query( $q );
/*// This shows randomly selected products from the products table
// if you don't like to set up related products for each product
$q = "SELECT product_sku FROM #__{vm}_product ";
$q .= "WHERE product_publish='Y' AND product_id != $product_id ";
$q .= "ORDER BY RAND() LIMIT 0, 4";
$db->query( $q );*/
$related_products = '';
if( $db->num_rows() > 0 ) {
$tpl->set( 'ps_product', $ps_product );
$tpl->set( 'products', $db );
$related_products = $tpl->fetch( '/common/relatedProducts.tpl.php' );
}

  :o
*

drinkmaker

  • Захожу иногда
  • 65
  • 13 / 0
  • Щасливцю?
За вывод отвечает файл шаблона relatedProducts.tpl.php

Скорее всего он у тебя лежит тут:  ВВВ.ТвойСайт.Ком/components/com_virtuemart/themes/ТвойШаблон/templates/common/relatedProducts.tpl.php

У меня экзотический шаблон, выглядит вот так:

Код
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); ?>

<hr/>

<h3><?php echo $VM_LANG->_('PHPSHOP_RELATED_PRODUCTS_HEADING')?></h3>
 
<table width="100%" align="center">
<tr>
    <?php
    while( $products->next_record() ) { ?>
      <td valign="top">
      <?php echo $ps_product->product_snapshot( $products->f('product_sku') )?>
      </td>
<?php
    }
?>
    </tr>
</table> 

Ну и правим его чтоб было скажем три колонки, как нибудь так:

Код
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); ?>

<hr/>

<h3><?php echo $VM_LANG->_('PHPSHOP_RELATED_PRODUCTS_HEADING')?></h3>
 
<table width="100%" align="center">
  <?php
    while( $products->next_record() ) { ?>
<tr>
        <td valign="top">
      <?php echo $ps_product->product_snapshot( $products->f('product_sku') );  $products->next_record() ; ?>
      </td>

              <td valign="top">
      <?php echo $ps_product->product_snapshot( $products->f('product_sku') ); $products->next_record() ; ?>
      </td>

              <td valign="top">
      <?php echo $ps_product->product_snapshot( $products->f('product_sku') )?>
      </td>
  </tr>
<?php
    }
?>
 
</table>

Следует отметить, что это не совсем правильное решение, оно работает только в том случае если количество связанных товаров кратно 3 :))
Но принцип, я думаю, ясен. Я просто запямятовал PHP, это на скорую руку.
Если не получится говори, помогу.
Долго думали - чего котенку в организме не хватает, если он ест полиэтилен. Решили, что мозгов.
*

prostoy

  • Захожу иногда
  • 394
  • 6 / 1
  • Истина где то рядом.
У меня проблема если я ввожу например 4-ре сопутствуюших товаров то получается что 4-й товар копируется еще 2-раза что бы было кратное 3 товаром на каждой стороке. Как это исправить?
*

Sequels

  • Захожу иногда
  • 104
  • 5 / 0
У меня ВМ версии 1.1.8, помогите где можно исправить этот код, т.к. вышеуказанного у меня нет.
У меня сопутствующих товаров по несколько штук, а выводит только по 4 и все.
*

Sequels

  • Захожу иногда
  • 104
  • 5 / 0
Повторно прошу помочь, не могу решить проблему  !
*

Minstrel

  • Новичок
  • 7
  • 3 / 0
  • Minstrel
Для этого необходимо заменить код файла components/com_virtuemart/themes/default/Template/common/relatedProducts.tpl.php на
Код: php
    <?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); ?>
    <hr/>
    <h3><?php echo $VM_LANG->_('PHPSHOP_RELATED_PRODUCTS_HEADING')?></h3>
    <table width="100%" align="center">
    <tr>
    <?php
    $td_counter = 1;
    while( $products->next_record() ) {
       ?>
       <td valign="top">
          <?php echo $ps_product->product_snapshot( $products->f('product_sku') )?>
       </td>
    <?php
    $td_counter++;
       // Added by Minstrel: new rows
       if ($td_counter == 4) { // Defining row element count
          echo "</tr><tr>";
          $td_counter = 1;      // Reset counter
       }
    }
    ?>
    </tr>
    </table>
« Последнее редактирование: 20.12.2011, 06:18:11 от Minstrel »
*

Sequels

  • Захожу иногда
  • 104
  • 5 / 0
Для этого необходимо заменить код файла components/com_virtuemart/themes/default/Template/common/relatedProducts.tpl.php на

Неа :(
В первой строке выводит 3 товара, а во вторую все остальные и получается тихий ужас %)

Уже голову сломал, столько вариантов перепробовал...
*

Minstrel

  • Новичок
  • 7
  • 3 / 0
  • Minstrel
Да, действительно, у меня была реализация для двухстрочного вывода.
Чтобы работало для любого количества строк,
надо еще добавить сброс счетчика $td_counter = 1; после вывода </tr><tr>
Добавил в код
*

Sequels

  • Захожу иногда
  • 104
  • 5 / 0
Да, действительно, у меня была реализация для двухстрочного вывода.
Чтобы работало для любого количества строк,
надо еще добавить сброс счетчика $td_counter = 1; после вывода </tr><tr>
Добавил в код

Отлично! Спасибо огромное за помощь!
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
Да, действительно, у меня была реализация для двухстрочного вывода.
Чтобы работало для любого количества строк,
надо еще добавить сброс счетчика $td_counter = 1; после вывода </tr><tr>
Добавил в код
А у меня все равно выводит не больше четырех товаров
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
Мне в принципе не важно сколько в строку будет, главное что-бы он выводил то количество материалов которое я указал в админке в разделе "Сопутствующие товары". Я указал 7 а он выводит всего лишь 3
*

saharin88

  • Захожу иногда
  • 291
  • 20 / 1
  • JoomWork
Minstrel
Спасибо!
*

Minstrel

  • Новичок
  • 7
  • 3 / 0
  • Minstrel
А у меня все равно выводит не больше четырех товаров
Количество в строке определяется вот этим числом
Код: php
if ($td_counter == 4) { // Defining row element count

Мне в принципе не важно сколько в строку будет, главное что-бы он выводил то количество материалов которое я указал в админке в разделе "Сопутствующие товары". Я указал 7 а он выводит всего лишь 3
А это уже надо разбираться, почему он не накапливает в переменной $product необходимое количество доп. товаров.
Скорее всего, максимальное число задано где-то в настройках админки виртумарта.

Я указал 7 а он выводит всего лишь 3
Это вы где указываете?
« Последнее редактирование: 20.12.2011, 06:22:40 от Minstrel »
*

San_Sanich

  • Новичок
  • 7
  • 0 / 0
Спасибо автору за грамотное объяснение! Вот тут - http://brj.pp.ru/wiki/commerce/virtuemart/relatedproducts есть ещё информация, возможно кому-то пригодится.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Количество просмотров товара VirtueMart Существует?

Автор grishin

Ответов: 38
Просмотров: 16162
Последний ответ 22.08.2020, 08:44:29
от rsn
Не выводит списком Настраиваемое поле в VirtueMart 5.0

Автор ЛюдмилаМир

Ответов: 2
Просмотров: 6247
Последний ответ 25.08.2019, 16:27:04
от ЛюдмилаМир
Joomla VirtueMart помощь в переводе

Автор akkord31

Ответов: 0
Просмотров: 5975
Последний ответ 21.05.2019, 09:14:02
от akkord31
Миграция с Joomla 1.5 на 3 с VirtueMart 1.1.9 stable на свежую. Кто поможет?

Автор Гриша-Десантник

Ответов: 7
Просмотров: 6430
Последний ответ 23.04.2019, 10:22:25
от draff
Переход на https VirtueMart 1.1.4 проблемы с фото

Автор Sergey1984

Ответов: 4
Просмотров: 6213
Последний ответ 25.10.2018, 20:56:54
от Sergey1984