Новости Joomla

Загадочный параметр $live_site в configuration.php Joomla

Загадочный параметр $live_site в configuration.php Joomla

👩‍💻 Загадочный параметр $live_site в configuration.php Joomla. Зачем он нужен?Давным-давно, когда Joomla ещё была маленькой, в неё внедрили параметр $live_site. В ней хранился домен текущего сайта на случай, если Joomla не могла его определить из-за неверной настройки сервера. Нужно это было для разных SEO-компонентов, для использования редиректов и т.д.Со временем для работы собственно сайта этот параметр перестал быть нужным. Уже в начале 2010-х стали встречаться рекомендации оставлять этот параметр пустым, дабы оный не привёл к лишним проблемам и путанице. Тем более, в web-админке нет места, где его можно указать или посмотреть его значение. Только в configuration.php, а туда смотрят не часто.Однако, параметр всё же остался в ядре Joomla. Зачем он нужен? А нужен он в 2-х случаях:- для работы класса Joomla\CMS\Uri\Uri, который часто используется в коде Joomla для работы методов

Uri::root() и
Uri::base(), а значит может влиять и на работу в том числе ajax-скриптов.- для работы Joomla в CLI - командной строке сервера. В случае если вы используете в вашем CLI-плагине методы опять-таки класса Uri, то CLI ничего не знает о текущем домене, так как запускается вне web-сервера. Поэтому домен нужно указывать принудительно. Либо с помощью параметра командной строки
--live-site, например,
—live-site=https://site.ru/. Со слешем на конце, иначе в CLI адрес сайта станет
https://site.rujoomla.php.Либо в параметре
$live_site в файле configuration.php, так как
CliApplication берёт настройку оттуда, если параметр команды не указан или пуст.⚠️ Иначе в качестве хоста и url класса Uri будет установлено
https://joomla.invalid/set/by/console/application. В самом же коде команды получить параметр
$live_site можно из объекта приложения

protected function doExecute(InputInterface $input, OutputInterface $output): int    {         //...              $live_site = $this->getApplication()->get('live_site');         //...    }
и исходя из этого строить дальнейшую логику.@joomlafeed#joomla #разработка #php #cli

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks.Этот контент-плагин - одно из старейших расширений для Joomla. Его задача - преобразовывать шорт-коды вида

{YOUTUBE}...{/YOUTUBE},
{MP3}parth/to/file.mp3{/MP3} и подобные во встроенные видео или аудио.👩‍💻 v.7.0.0. Что нового?- Добавлена поддержка Youtube Shorts. Просто скопируйте полный url видео и вставьте его внутри тегов
{YOUTUBE}...{/YOUTUBE}.- Поддержка Joomla 5.x без плагина обратной совместимости. PHP 5, PHP 7, PHP 8. - Индексация умным поиском в CLI. В Joomla 5 плагин перестал вызывать ошибку при индексации контента умным поиском через CLI,Заметьте, что этот один и тот же пакет для всех версий Joomla, начиная с 1.5.x и заканчивая 5.x. Технически "под капотом" код плагина по сути не менялся, а для поддержки следующих версий Joomla авторы вставляют "заплатки". Плагин всё ещё использует старую архитектуру файлов и классов Joomla, что, к сожалению, заставляет прибавлять к его описанию слова "пока ещё" - "пока ещё работает".
Страница расширенияGitHub расширенияJoomla Extensions Directory👩‍💻 За ссылку спасибо самому внимательному участнику нашего сообщества - Ринату Кажетову (@rkazhet).@joomlafeed#joomla #расширения

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

homutke

  • Захожу иногда
  • 71
  • 4 / 0
Написан скрипт позволяющий обмениваться с VirtueMart и 1с посредством протокола CommerceML.
Скрипт открытый и находится на тестировании, желающие могут взять его на http://infostart.ru/community/groups/622/.
Реализован полный цикл обмена, но не до тестирован, желающие помочь могут оставлять свои запросы.

Требует наличия php5,simplexml.

« Последнее редактирование: 18.05.2010, 12:15:08 от homutke »
*

haword

  • Захожу иногда
  • 124
  • 25 / 0
Re: CommerceML выгрузка/загрузка в VirtueMart
« Ответ #1 : 11.05.2010, 23:48:59 »
только как скачать вот загадка  !
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
Re: CommerceML выгрузка/загрузка в VirtueMart
« Ответ #2 : 12.05.2010, 09:24:16 »
Зарегистрироваться  и добавить себя в группу CommerceML
*

haword

  • Захожу иногда
  • 124
  • 25 / 0
Re: CommerceML выгрузка/загрузка в VirtueMart
« Ответ #4 : 12.05.2010, 13:27:39 »
сделал так и не вижу где можно скачать :(
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
*

haword

  • Захожу иногда
  • 124
  • 25 / 0
Re: CommerceML выгрузка/загрузка в VirtueMart
« Ответ #6 : 12.05.2010, 22:19:14 »
ага спасибо, в выходные протестирую потом отпишусь что да как, по коду заметил что если будет слабый хостинг и загрузка товара будет идти медленно то загрузка будет вываливаться на середине, для этого в битриксе в ответку шлется сообщение и 1с заново перезапускает загрузку а в сессионных переменных передает от куда продолжать. Было бы неплохо это прикрутить. Будет время повожусь на выходных.
*

frag79

  • Давно я тут
  • 612
  • 61 / 0
Re: CommerceML выгрузка/загрузка в VirtueMart
« Ответ #8 : 13.05.2010, 08:29:55 »
маленькая инфа из группы в инфостарте
1. В корень сайта кладем connect.php
2. Создаем в корне сайта директорию uploads с правами 777
3. Идем в 1С вызываем "обмен данными с web-сайтом" и все настраиваем как в http://v8.1c.ru/edi/edi_app/130/

Чет у меня не грузит ничего.
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
Re: CommerceML выгрузка/загрузка в VirtueMart
« Ответ #9 : 13.05.2010, 11:27:33 »
маленькая инфа из группы в инфостарте
1. В корень сайта кладем connect.php
2. Создаем в корне сайта директорию uploads с правами 777
3. Идем в 1С вызываем "обмен данными с web-сайтом" и все настраиваем как в http://v8.1c.ru/edi/edi_app/130/

Чет у меня не грузит ничего.

проверка
маленькая инфа из группы в инфостарте
1. В корень сайта кладем connect.php
2. Создаем в корне сайта директорию uploads с правами 777
3. Идем в 1С вызываем "обмен данными с web-сайтом" и все настраиваем как в http://v8.1c.ru/edi/edi_app/130/

Чет у меня не грузит ничего.


Подробнее бы, соединение с сайтом проходит?
*

frag79

  • Давно я тут
  • 612
  • 61 / 0
Re: CommerceML выгрузка/загрузка в VirtueMart
« Ответ #10 : 13.05.2010, 12:25:36 »
Подробнее бы, соединение с сайтом проходит?
Ну что делал:
1С:Предприятие 8.1 (8.1.9.57), "Управление торговлей", редакция 10.3 (10.3.7.8 ) демо данные, Joomla 1.5.15, VirtueMart 1.1.13 Stable
1. В корень сайта кладем connect.php
Положил, заменив define('JPATH_BASE', dirname(__FILE__). '/joomla/' ) на define('JPATH_BASE', dirname(__FILE__));
2. uploads с правами 777 создал.
3. Обмен данными с web-сайтом на первом шаге:
пробовал http://мой_сайт.ru/connect.php, http://мой_сайт.ru, пас админа Joomla, пас на БД, в любых вариантах "Не удалось установить соединение с сервером. Проверьте имя пользователя и пароль." Пароли все верные.

Пробовал на хосте (hc.ru) php 5.* и на Денвере

при http://fragdemo.kfspbuwc.ru/connect.php?type=catalog&mode=checkauth выдает ошибку
Код
п»ї
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /www/kfspbuwc/users/kfspbuwc-fragdem/www/htdocs/connect.php:1) in /www/kfspbuwc/users/kfspbuwc-fragdem/www/htdocs/libraries/joomla/session/session.php on line 423

Warning: Cannot modify header information - headers already sent by (output started at /www/kfspbuwc/users/kfspbuwc-fragdem/www/htdocs/connect.php:1) in /www/kfspbuwc/users/kfspbuwc-fragdem/www/htdocs/libraries/joomla/session/session.php on line 426
success
« Последнее редактирование: 13.05.2010, 12:29:33 от frag79 »
*

haword

  • Захожу иногда
  • 124
  • 25 / 0
Re: CommerceML выгрузка/загрузка в VirtueMart
« Ответ #11 : 13.05.2010, 13:43:06 »
поставь  // (две косые линии) перед строчками

ini_set('display_errors', '1');
error_reporting(E_ALL);

в начале файла connect.php
« Последнее редактирование: 13.05.2010, 13:52:34 от haword »
*

frag79

  • Давно я тут
  • 612
  • 61 / 0
Re: CommerceML выгрузка/загрузка в VirtueMart
« Ответ #12 : 13.05.2010, 13:59:27 »
на панели хостера небыло запретить вывод ошибок.
в .htaccess добавил php_value error_reporting 0 соеденился, потестирую отпишусь.
haword +1
*

frag79

  • Давно я тут
  • 612
  • 61 / 0
Re: CommerceML выгрузка/загрузка в VirtueMart
« Ответ #13 : 13.05.2010, 18:47:13 »
Кое какие результаты появились ^-^
Загрузка товаров прошла почти на ура, товары, категории, цены, изображения прописались в БД но не распаковались в нужный каталог, перенес ручками работает, толь при выгрузке изображений они заносятся в product_full_image, лучше в product_thumb_image, а еще лучше и туда и туда, а то большая картинка есть, маленькой нет :).

а вот с сервака пока чет нет связи, 1С выдает
Код
Выгружено товаров: 170
Выгружено картинок: 35
Выгрузка товаров успешно завершена
Не удалось прочитать данные, загруженные с сервера.
Обмен не выполнен
Не выгружен ни один заказ.
Обмен заказами завершен с ошибками!

После заказа на сайте в 1С
Код
Ошибка в значении узла <Документ>.<Валюта> документа CML (RUB).
Обмен не выполнен
Не удалось обработать значение элемента (Документ.Валюта) = (RUB).
Не удалось разобрать данные, загруженные с сервера.
Обмен не выполнен
Не выгружен ни один заказ.
Обмен заказами завершен с ошибками!
« Последнее редактирование: 13.05.2010, 19:04:55 от frag79 »
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
Re: CommerceML выгрузка/загрузка в VirtueMart
« Ответ #14 : 14.05.2010, 16:03:51 »
Сделал новую версию, поправил ошибки. Добавил новые.

Директория UPLOADS теперь не нужна, файлы сразу разворачиваюся в директории
components/com_virtuemart/shop_image/product/

Добавил help вызывается: connect.php?mode=help



http://narod.ru/disk/20737523000/connect.zip.html
*

daddy7

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
При импорте ругается на эту строку

Код
$clear = $xml->ПакетПредложений->attributes()->СодержитТолькоИзменения;

Код
PHP Warning:  main() [<a href='function.main'>function.main</a>]: Node no longer exists in C:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs\\connect.php on line 893

*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
Можно
При импорте ругается на эту строку

Код
$clear = $xml->ПакетПредложений->attributes()->СодержитТолькоИзменения;

Код
PHP Warning:  main() [<a href='function.main'>function.main</a>]: Node no longer exists in C:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs\\connect.php on line 893




Можешь закоментировать строку, она выполнят считывание булевой переменной из offers.xml для очистки
таблицы product_price.

Заодно посмотри на строчку

Цитировать
<?xml version="1.0" encoding="UTF-8"?>
<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="2010-04-25T12:09:29">
   <ПакетПредложений СодержитТолькоИзменения="false">

в ней присутствуют какие либо не стандартные символы.

Если возможно вышли свои import.xml и offers.xml я их у себя проверю.
*

daddy7

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Файлы лежат тут: http://narod.ru/disk/20903793000/1cbitrix.rar.html

Дело в том, что я использую не штатную обработку обмена, которая входит в состав типовой конфигурации, а модуль интеграции от БИТРИКС, который обладает более богатым функционалом http://1c.1c-bitrix.ru/ecommerce/download.php
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
Файлы лежат тут: http://narod.ru/disk/20903793000/1cbitrix.rar.html

Дело в том, что я использую не штатную обработку обмена, которая входит в состав типовой конфигурации, а модуль интеграции от БИТРИКС, который обладает более богатым функционалом http://1c.1c-bitrix.ru/ecommerce/download.php

Втянуло у меня нормально.

Насчет использование доработок битрикса тут надо думать, они очень много под себя изменили, сможет ли VirtueMart по функционалу дотянуть до битрикса.

*

Cybervizor

  • Захожу иногда
  • 111
  • 8 / 0
Столкнулся с двумя багами:
1. каждый раз при выгрузке товаров полностью обнуляется каталог товаров на сайте.
2. Импортированные товары видны в админке, но не видны на сайте.
*

homutke

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

Если в 1С выбрана опция полная выгрузка то наверно это верно.
Насчет 2 не могу ни чего сказать
*

daddy7

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Если в 1С выбрана опция полная выгрузка то наверно это верно.
На самом деле надо как-то это обойти. Если использовать http://1c.1c-bitrix.ru/ecommerce/download.php, то там есть настройка какие группы/товары в какой раздел выгружать. При большом объеме номенклатуры необходимо разбивать экспорт на части, иначе никакой сервант не справится. Опять же если ставить галку "Только измененные товары", то система не отслеживает остаток товара. В этом случае выгружаются только измененные товары, изменение остатков не отслеживается.
*

Cybervizor

  • Захожу иногда
  • 111
  • 8 / 0
Только что обнаружил: при выгрузке товара устанавливается первый производитель из списка,  после чего его невозможно изменить. Т.е. в ниспадающем списке выбрать можно, но при сохранении изменения не учитываются.
*

homutke

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

А в commerceML из 1С не выгружается производитель, поэтому все вешается на 1.
*

Cybervizor

  • Захожу иногда
  • 111
  • 8 / 0
А в commerceML из 1С не выгружается производитель, поэтому все вешается на 1.
Но в админке вручную, уже после загрузки, тоже нельзя изменить...
*

daddy7

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
А в commerceML из 1С не выгружается производитель, поэтому все вешается на 1.

На другом проекте исользую HostCMS, так там эту проблему решили выгрузкой производителя в дополнительное свойство товара. Предлагаю и здесь сделать по аналогии. в 1С в дополнительных свойствах товара заводим свойство с наименованием "Производитель" и его значение тащим в поле производителя.

На самом деле у меня сейчас образовалось некоторое количество совбодного времени, так что могу помочь в разработке и тестировании.
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
На другом проекте исользую HostCMS, так там эту проблему решили выгрузкой производителя в дополнительное свойство товара. Предлагаю и здесь сделать по аналогии. в 1С в дополнительных свойствах товара заводим свойство с наименованием "Производитель" и его значение тащим в поле производителя.

На самом деле у меня сейчас образовалось некоторое количество совбодного времени, так что могу помочь в разработке и тестировании.

Можно но плохо, свойства из 1С выыгружаются только Реквизит, а наименование свойства нет.


Помочь можно, сейчас не могу разобраться с характеристиками. Если на товаре висит характеристики, то он выгружается в commerceml n-раз, сколько характеристик присутствует в товаре.

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


Код
<?
$search_array = array();

$search_array["49a4a3b7-f82a-11dd-9948-001a9271c4e4#462469d5-6257-11df-8e3c-000ea64896bf"][1] = 1;
 $search_array["29a4a3b7-f82a-11dd-9948-001a9271c4e4#462469d5-6257-11df-8e3c-000ea64896bf"][1] = 4;

print_r($search_array);
if (array_key_exists("49a4a3b7-f82a-11dd-9948-001a9271c4e4#462469d5-6257-11df-8e3c-000ea64896bf", $search_array)) {
    echo "The 'first' element is in the array";
}

?>

А в моем варианте когда происходит проверка на наличие ключа он считает, что их нет. Проблема с типом что ли?


<?
//  категории товара
$products         =   array();
$char      =   array();

Код
function products_create($xml) {
global $products;
if (!isset($xml->Товары)) {
return $products;
}

foreach ($xml->Товары->Товар as $product_data) {
$owner = (string)$product_data->Ид;
if (array_key_exists($owner,$products)) {
if (isset($product_data->ХарактеристикиТовара)) {

}
}
else {

$products[$owner]['Артикул'] =(string)$product_data->Артикул;
if (isset($product_data->ХарактеристикиТовара)) {

foreach ($product_data->ХарактеристикиТовара->ХарактеристикаТовара as $char_data) {

}
}


}



}
return $products;
}

$xml = simplexml_load_file('c:\bitrix\uploads\import.xml');
$products = products_create($xml->Каталог);

print_r($products);

?>
*

daddy7

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Все правильно у тебя написано, только кодировку файлу скрипта поставь UTF-8, проблема в трансляции русских названий разделов CML

Цитировать
Можно но плохо, свойства из 1С выыгружаются только Реквизит, а наименование свойства нет.

Все там выгружается... Там в начале файла идет описание дополнительных свойств товара, у меня это выглядит примерно так:
Код
<Свойства>
<Свойство>
<Ид>b51e8308-0b52-11df-995b-00116b3281cc</Ид>
<Наименование>HOSTCMS_KEYWORDS</Наименование>
<ТипыЗначений>
<ТипЗначений>
<Тип>Строка</Тип>
</ТипЗначений>
</ТипыЗначений>
</Свойство>
<Свойство>
<Ид>b51e8309-0b52-11df-995b-00116b3281cc</Ид>
<Наименование>HOSTCMS_МЕТКИ</Наименование>
<ТипыЗначений>
<ТипЗначений>
<Тип>Строка</Тип>
</ТипЗначений>
</ТипыЗначений>
</Свойство>
<Свойство>
<Ид>7adac03a-0f65-441e-a33e-70ab611e58b2</Ид>
<Наименование>Коды</Наименование>
<ТипыЗначений>
<ТипЗначений>
<Тип>Строка</Тип>
</ТипЗначений>
</ТипыЗначений>
</Свойство>
</Свойства>
Идет в разделе "Классификатор" после описания групп
*

homutke

  • Захожу иногда
  • 71
  • 4 / 0
Все правильно у тебя написано, только кодировку файлу скрипта поставь UTF-8, проблема в трансляции русских названий разделов CML

Все там выгружается... Там в начале файла идет описание дополнительных свойств товара, у меня это выглядит примерно так:
Код
<Свойства>
<Свойство>
<Ид>b51e8308-0b52-11df-995b-00116b3281cc</Ид>
<Наименование>HOSTCMS_KEYWORDS</Наименование>
<ТипыЗначений>
<ТипЗначений>
<Тип>Строка</Тип>
</ТипЗначений>
</ТипыЗначений>
</Свойство>
<Свойство>
<Ид>b51e8309-0b52-11df-995b-00116b3281cc</Ид>
<Наименование>HOSTCMS_МЕТКИ</Наименование>
<ТипыЗначений>
<ТипЗначений>
<Тип>Строка</Тип>
</ТипЗначений>
</ТипыЗначений>
</Свойство>
<Свойство>
<Ид>7adac03a-0f65-441e-a33e-70ab611e58b2</Ид>
<Наименование>Коды</Наименование>
<ТипыЗначений>
<ТипЗначений>
<Тип>Строка</Тип>
</ТипЗначений>
</ТипыЗначений>
</Свойство>
</Свойства>
Идет в разделе "Классификатор" после описания групп

Да ты прав, добавлю обработку свойства Производитель в скрипт.
*

daddy7

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Этот же механизм можно будет использовать для заполнения и остальных своств товара в VirtueMart
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор Centoff

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

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

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

Автор danklassik

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

Автор fedorkit

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

Автор zufar

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