Новости Joomla

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+). При отображении форм компонента в админке раньше разработчикам нужно было описывать скрытые поля в лейаутах. И выглядело это так:

<?php     // Это файл в /layouts/components/com_component/your_layout.php?><input type="hidden" name="task" value=""><input type="hidden" name="return" value="<?php echo $input->getBase64('return'); ?>"><input type="hidden" name="forcedLanguage" value="<?php echo $input->get('forcedLanguage', '', 'cmd'); ?>"><?php echo HTMLHelper::_('form.token'); ?>
Начиная с Joomla 5.3 добавлен новый способ добавления таких полей (их называют control fields) - программно. И теперь это можно сделать просто в Controller / View.
// В Controller/View добавляем поля$this->form  ->addControlField('task', '')  ->addControlField('return', $input->getBase64('return', ''))  ->addControlField('forcedLanguage', $forcedLanguage);
А в layout'е просто используем метод
renderControlFields()
// В layout формыecho $this->form->renderControlFields();
Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.Смотреть
Pull Request@joomlafeed#joomla #разработка #php

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.

v.4.1.0. Что нового?

Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.

Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.

Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.

Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.

Множество мелких исправлений ошибок и оптимизаций.

Сайт проекта

GitHub расширения

Скачать

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

lecur

  • Новичок
  • 5
  • 0 / 0
Пожалуйста
*

lecur

  • Новичок
  • 5
  • 0 / 0
Пытаюсь через браузер напрямую зайти на connect: http://www.lecur.net/shop/connect.php
Выдаёт:
Warning: require_once() [function.require-once]: Unable to access /home/lecurnet/domains/lecur.net/public_html/shoplecur.net/shop//includes/defines.php in /home/lecurnet/domains/lecur.net/public_html/shop/connect.php on line 59

Warning: require_once(/home/lecurnet/domains/lecur.net/public_html/shoplecur.net/shop//includes/defines.php) [function.require-once]: failed to open stream: No such file or directory in /home/lecurnet/domains/lecur.net/public_html/shop/connect.php on line 59

Fatal error: require_once() [function.require]: Failed opening required '/home/lecurnet/domains/lecur.net/public_html/shoplecur.net/shop//includes/defines.php' (include_path='.:/usr/local/lib/php') in /home/lecurnet/domains/lecur.net/public_html/shop/connect.php on line 59
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
Скиньте настроенный connect с демо-сайта
Я его поправлю, к себе положу на сайт и будет мне счастье

http://narod.ru/disk/22478876000/connect.zip.html уже выкладывал , скрипт  настроен для корня сайта.



*

Kriks

  • Захожу иногда
  • 82
  • 0 / 0
Сори, метил сюда - http://joomlaforum.ru/index.php/topic,3537.new.html#new
Просьба удалить сообщение.
(Ребят, может уже было похожее решение, но я не нашёл.
Вопрос касается также автоматической синхронизации, но не всего сайта, а только заказа. Нужно, чтобы реализовывалась следующая задача:
покупатель кладёт в корзину товар, оформляет заказ и в конце получает стандартную форму счёта на оплату юр.лицу, куда вставляются все данные из VirtueMart (наименование, цена и т.п.). НО! Порядковый номер счёта должен браться из 1С, находящейся на удалённом сервере, исходя из последнего проведённого там счёта. Далее необходимо, чтобы те же данные из корзины поступали в 1С в счёт под присвоенным номером: наименование, цена, кол-во и т.п.)
« Последнее редактирование: 13.07.2010, 23:03:24 от Kriks »
*

Buffalobug

  • Новичок
  • 7
  • 1 / 0
Все загружает, все хорошо, только видно в админке, на сайте не видно. Что может быть?
*

Buffalobug

  • Новичок
  • 7
  • 1 / 0
это я про номенклатуру сеччас
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
Все загружает, все хорошо, только видно в админке, на сайте не видно. Что может быть?
Смотри таблицу vendor в ней должен быть магазин с id=1, в таблице products vendor_id должен быть = 1, это кажется было исправлено в последних версиях.
*

Alex2

  • Захожу иногда
  • 113
  • 6 / 0
Не могу подключиться к своему сайту http://svetnt.ru.xsph.ru/connect.php
Не удалось установить соединение с сервером. Проверьте имя пользователя и пароль.
Как это можно исправить?
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
Не могу подключиться к своему сайту http://svetnt.ru.xsph.ru/connect.php
Не удалось установить соединение с сервером. Проверьте имя пользователя и пароль.
Как это можно исправить?

Завести себе пользователя в VM и пользоваться этим логином и паролем в 1С.
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
Пытаюсь через браузер напрямую зайти на connect: http://www.lecur.net/shop/connect.php
Выдаёт:
Warning: require_once() [function.require-once]: Unable to access /home/lecurnet/domains/lecur.net/public_html/shoplecur.net/shop//includes/defines.php in /home/lecurnet/domains/lecur.net/public_html/shop/connect.php on line 59

Warning: require_once(/home/lecurnet/domains/lecur.net/public_html/shoplecur.net/shop//includes/defines.php) [function.require-once]: failed to open stream: No such file or directory in /home/lecurnet/domains/lecur.net/public_html/shop/connect.php on line 59

Fatal error: require_once() [function.require]: Failed opening required '/home/lecurnet/domains/lecur.net/public_html/shoplecur.net/shop//includes/defines.php' (include_path='.:/usr/local/lib/php') in /home/lecurnet/domains/lecur.net/public_html/shop/connect.php on line 59


проверьте, все ли файлы на месте. Здесь ошибка прав и отсутствие файла
*

Alex2

  • Захожу иногда
  • 113
  • 6 / 0
Завести себе пользователя в VM и пользоваться этим логином и паролем в 1С.
Спасибо, подключиться смог.
Но в магазине товар не появляется
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
а в админ
Спасибо, подключиться смог.
Но в магазине товар не появляется

А в админке?
*

Alex2

  • Захожу иногда
  • 113
  • 6 / 0
а в админ
А в админке?
вообще нигде нет
файлы на хостинг загружаются нормально в components\com_virtuemart\shop_image\product\
а в VirtueMart видимо не грузится
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
вообще нигде нет
файлы на хостинг загружаются нормально в components\com_virtuemart\shop_image\product\
а в VirtueMart видимо не грузится

1C ошибки выдает?
*

Alex2

  • Захожу иногда
  • 113
  • 6 / 0
1C ошибки выдает?
Нет, выгружается все нормально. Но вот в магазин не загружается.

Выгружено товаров: 105
Выгружено картинок: 101
Получен расширенный статус успешного завершения сеанса
Ответ сервера:
v8_49_c9.zip

Получен расширенный статус успешного завершения сеанса
Ответ сервера:
v8_49_c9.zip

Выгрузка товаров успешно завершена
« Последнее редактирование: 29.07.2010, 19:34:31 от Alex2 »
*

Alex2

  • Захожу иногда
  • 113
  • 6 / 0
Совсем забыл, сейчас убрал 2 черточки // из connect.php. И вот что мне выдала 1С-ка.

Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
Обмен не выполнен
Ответ сервера:
<b>Warning</b>:  main() [<a href='function.main'>function.main</a>]: Node no longer exists in <b>/home/svetnt/domains/svetnt.ru/public_html/connect.php</b> on line <b>1312</b><br />
<br />
<b>Warning</b>:  main() [<a href='function.main'>function.main</a>]: Node no longer exists in <b>/home/svetnt/domains/svetnt.ru/public_html/connect.php</b> on line <b>1312</b><br />
<br />
<b>Warning</b>:  main() [<a href='function.main'>function.main</a>]: Node no longer exists in <b>/home/svetnt/domains/svetnt.ru/public_html/connect.php</b> on line <b>1332</b><br />
<br />
<b>Warning</b>:  main() [<a href='function.main'>function.main</a>]: Node no longer exists in <b>/home/svetnt/domains/svetnt.ru/public_html/connect.php</b> on line <b>1332</b><br />
success
offer.xml

Выгрузка товаров завершена с ошибками!
*

Alex2

  • Захожу иногда
  • 113
  • 6 / 0
Так вроде разобрался, надо было еще артикул указывать у товаров.
Каждый раз когда происходит выгрузка товара или обновление, то зачем-то создается новая группа покупателей (Default), соответственно со своими ценами.
1. Как сделать чтобы цены записывалисть в существующую группу?
2. Картинки грузятся только большие  (что маленькие что большие все одинаковые), как сделать чтобы создавалась маленькая картинка?
3. Если в базе нет Артикула, как сделать чтобы товар грузился по коду?
« Последнее редактирование: 30.07.2010, 11:30:23 от Alex2 »
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
Так вроде разобрался, надо было еще артикул указывать у товаров.
Каждый раз когда происходит выгрузка товара или обновление, то зачем-то создается новая группа пользователей (Default), соответственно со своими ценами. Как сделать чтобы цены записывалисть в существующую группу?


Вот этот кусок, он конечно кривоват

if (FIX_TYPEPRICE <> '-default-') {
         if ($price [$owner] ['Наименование'] == FIX_TYPEPRICE) {
            $price [$owner] ['Наименование'] = '-default-';
         }
      }

      $db->setQuery ( "SELECT shopper_group_id FROM #__vm_shopper_group where shopper_group_name = '" . $price [$owner] ['Наименование'] . "'" );

то, что пропускает дубли я то же заметил, буду проверять
*

Alex2

  • Захожу иногда
  • 113
  • 6 / 0

Вот этот кусок, он конечно кривоват

if (FIX_TYPEPRICE <> '-default-') {
         if ($price [$owner] ['Наименование'] == FIX_TYPEPRICE) {
            $price [$owner] ['Наименование'] = '-default-';
         }
      }

      $db->setQuery ( "SELECT shopper_group_id FROM #__vm_shopper_group where shopper_group_name = '" . $price [$owner] ['Наименование'] . "'" );

то, что пропускает дубли я то же заметил, буду проверять


а как быть с картинками и артикулами?
Чтобы всему перечню товаров присвоить артикул надо довольно много времени ( где-то  1500-2000 наименований)

*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
Так вроде разобрался, надо было еще артикул указывать у товаров.
Каждый раз когда происходит выгрузка товара или обновление, то зачем-то создается новая группа покупателей (Default), соответственно со своими ценами.
1. Как сделать чтобы цены записывалисть в существующую группу?
2. Картинки грузятся только большие  (что маленькие что большие все одинаковые), как сделать чтобы создавалась маленькая картинка?
3. Если в базе нет Артикула, как сделать чтобы товар грузился по коду?

1. Тип цен товара выгружаемый на сайт и показываемый по умолчанию не зарегистрированным пользователям в 1С у тебя называется "розничная", то в скрипте нужно установить define ( 'FIX_TYPEPRICE', 'розничная' );
2. Пока не сделано, варианта 2 или накладывать обновления от Битрикса, он позволяет несколько картинок выгружать или уменьшать внутренним механизмом VM при загрузке. Или настроить уменьшение в темплэйте страницы.
3. Заранее в 1С заполнить кодом товара , артикулы. т.к. в протоколе CML2 коды товара в обмен не входят.
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
а как быть с картинками и артикулами?
Чтобы всему перечню товаров присвоить артикул надо довольно много времени ( где-то  1500-2000 наименований)


а как быть с картинками и артикулами?
Чтобы всему перечню товаров присвоить артикул надо довольно много времени ( где-то  1500-2000 наименований)

обработкой в 1с несколько минут.

Можно конечно поле в товар добавить, но уж базу VM уродовать не хочется.
*

Alex2

  • Захожу иногда
  • 113
  • 6 / 0
а не подскажешь что за обработка, что-то не могу найти
*

Alex2

  • Захожу иногда
  • 113
  • 6 / 0
2. Пока не сделано, варианта 2 или накладывать обновления от Битрикса, он позволяет несколько картинок выгружать
Установил обновление от Битрикс.
Да, действительно, выгружает 2 картинки.
Как теперь прописать в connect.php какая из них маленькая, а какая большая

Вот что прописывается в import.xml
<Картинка Описание="Антенна L013.20 + БП всеволновая">
import_files/fb/fb897dfa-93c0-11df-86c1-002215636347_fb897dfc-93c0-11df-86c1-002215636347.jpeg
</Картинка>
<Картинка Описание="Антенна L013.20 + БП всеволновая мал.">
import_files/fb/fb897dfa-93c0-11df-86c1-002215636347_7b44c852-9bee-11df-86e0-002215636347.jpeg
</Картинка>
*

Konstant1n

  • Новичок
  • 6
  • 0 / 0
Не получается выгрузить заказы. Пишет:
Цитировать
Не удалось разобрать данные, загруженные с сервера.
Обмен не выполнен
Не выгружен ни один заказ.
Обмен заказами завершен с ошибками!
Пробовал и на localhost и на тестовом сайте www.try4.ru/connect.php
В чём может быть проблема?
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
Не получается выгрузить заказы. Пишет: Пробовал и на localhost и на тестовом сайте www.try4.ru/connect.php
В чём может быть проблема?

В функции createzakaz , вот такой select должен быть

function createzakaz() {

   global $db;

   $db->setQuery ( "SELECT * FROM #__vm_orders  WHERE order_status LIKE 'P'" );
   $list = $db->loadObjectList ();
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
Установил обновление от Битрикс.
Да, действительно, выгружает 2 картинки.
Как теперь прописать в connect.php какая из них маленькая, а какая большая

Вот что прописывается в import.xml
<Картинка Описание="Антенна L013.20 + БП всеволновая">
import_files/fb/fb897dfa-93c0-11df-86c1-002215636347_fb897dfc-93c0-11df-86c1-002215636347.jpeg
</Картинка>
<Картинка Описание="Антенна L013.20 + БП всеволновая мал.">
import_files/fb/fb897dfa-93c0-11df-86c1-002215636347_7b44c852-9bee-11df-86e0-002215636347.jpeg
</Картинка>


Именно такая вложенность или еще теги какие либо есть до и после?
*

Alex2

  • Захожу иногда
  • 113
  • 6 / 0

Именно такая вложенность или еще теги какие либо есть до и после?
Вот файлы, посмотри.
http://narod.ru/disk/23343566000/1cbitrix.rar.html
*

Konstant1n

  • Новичок
  • 6
  • 0 / 0
В функции createzakaz , вот такой select должен быть

function createzakaz() {

   global $db;

   $db->setQuery ( "SELECT * FROM #__vm_orders  WHERE order_status LIKE 'P'" );
   $list = $db->loadObjectList ();

В функции createzakaz select такой и есть
Правда сейчас при заходе на тестовый сайт выдаёт такую ошибку:
Цитировать
Ошибка в значении узла <Документ>.<Валюта> документа CML (руб).
Обмен не выполнен
Не удалось обработать значение элемента (Документ.Валюта) = (руб).
Не удалось разобрать данные, загруженные с сервера.
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
В функции createzakaz select такой и есть
Правда сейчас при заходе на тестовый сайт выдаёт такую ошибку:

А у Вас основная валюта учета в 1С руб?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

1C УТ 8.x &lt;-&gt; VirtueMart по протоколу CommerceML

Автор Centoff

Ответов: 1315
Просмотров: 207551
Последний ответ 27.10.2020, 15:32:10
от Leo1986
Как импортировать файл XML в Joomla VirtueMart?

Автор Кот Смюлан

Ответов: 2
Просмотров: 5005
Последний ответ 14.07.2016, 18:40:24
от Berzerker
Обсуждение бесплатного компонента импорта-экспорта товаров VirtueMart "CSV Improved 1.9"

Автор danklassik

Ответов: 14
Просмотров: 17103
Последний ответ 18.02.2016, 10:21:33
от Storm
Перенос товаров с сайта на сайт (оба на joomla+virtuemart)

Автор fedorkit

Ответов: 8
Просмотров: 14144
Последний ответ 31.01.2016, 22:09:30
от Messir
VirtueMart 1.1.3 stable - выгрузка товаров в яндекс.маркет

Автор zufar

Ответов: 690
Просмотров: 171282
Последний ответ 05.02.2015, 16:39:22
от newjey