Вопрос по разработке виджетов для магазина приложений

#
Вопрос по разработке виджетов для магазина приложений
Здравствуйте. Кроме модулей и шаблонов в магазине приложений присутствуют виджеты, можно ли их выгружать в магазин приложений? Если да, то есть ли какая-то инструкция для этого? Ведь это просто ТДС, не понятен этот момент.

Если такой возможности нет, то подскажите как автоматизировать добавление ТДС и связанных с ними XSL-шаблонов на каждый новый проект? Ведь наверняка есть какой-то инструмент кроме того чтобы каждый раз вбивать их заново. Идея была в том, чтобы сделать подходящие виджеты и устанавливать их из магазина.
Ускорение сайтов / Любые работы по сайту / Обращайтесь в nivaks-studio.ru
#
Re: Вопрос по разработке виджетов для магазина приложений
Никто не знает?
Ускорение сайтов / Любые работы по сайту / Обращайтесь в nivaks-studio.ru
Модератор
#
Re: Вопрос по разработке виджетов для магазина приложений
nikolajgromkov писал(а):
можно ли их выгружать в магазин приложений?

Можно.

nikolajgromkov писал(а):
то есть ли какая-то инструкция для этого? Ведь это просто ТДС, не понятен этот момент.

Инструкции нет. Обратитесь в поддержку, дадим файл для сборки виджетов.
Принцип тот же что и при сборке макетов и модулей для магазина приложений.
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Вопрос по разработке виджетов для магазина приложений
alexander.egorov,
выложите пжалст в общий доступ
HostDev.pw - модули для HostCMS, Telegram: @hostdev
Модератор
#
Re: Вопрос по разработке виджетов для магазина приложений
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Вопрос по разработке виджетов для магазина приложений
alexander.egorov писал(а):

Здравствуйте. Виджет добавлен, установка из магазина приложений проходит, но с ошибкой

file_get_contents(/home/i/ivano86/ivano86.beget.tech/public_html/hostcmsfiles/tmp/install/3087/xsl_368.xsl): failed to open stream: No such file or directory в файле /home/i/ivano86/ivano86.beget.tech/public_html/modules/install/controller.php

Права на tmp, hostcmsfiles, xsl все проверил, xsl_368.xsl лежит в папке tmp с архивом модуля, причём ТДС создаётся, заполняется код и создаются параметры, т.е система реально копирует эти файлы, и почему-то пропускает шаблон.. А XSL тоже создаётся, но пустая. Как так?
Ускорение сайтов / Любые работы по сайту / Обращайтесь в nivaks-studio.ru
Модератор
#
Re: Вопрос по разработке виджетов для магазина приложений
nikolajgromkov,
перепроверьте, ошибка говорит, что все же файла именно по пути hostcmsfiles/tmp/install/3087/xsl_368.xsl нет.
#
Re: Вопрос по разработке виджетов для магазина приложений
hostcms писал(а):
перепроверьте, ошибка говорит, что все же файла именно по пути hostcmsfiles/tmp/install/3087/xsl_368.xsl нет.


Подождите, но ведь он удаляется после установки виджета, верно?

Я писал о том, что файл xsl_368.xsl находится в tar.gz архиве модуля, в папке tmp http://prntscr.com/mgphc5. Попадает ли она в папку install, я не знаю. ТДС попадает и устанавливается, всё верно. А XSL создаёт папку, создаётся сам XSL шаблон, но он пустой. Я так понимаю что созданием папки и самого шаблона  занимается сам установочный файл модуля.

Я так понимаю что он доходит до сюда и дальше не идёт


//Xsls
foreach ($aXsli18n[$sLng] as $sFileName => $aXsl)
{
   $oXsl = Core_Entity::factory('Xsl')->getByName($aXsl['name'], FALSE);

   if (is_null($oXsl))
   {
      $aExplodeDir = explode('/', $aXsl['dirName']);
      array_reverse($aExplodeDir);

      $iParent_Id = 0;
      foreach ($aExplodeDir as $sDirName)
      {
         $oXsl_Dir = Core_Entity::factory('Xsl_Dir');
         $oXsl_Dir
            ->queryBuilder()
            ->where('xsl_dirs.parent_id', '=', $iParent_Id);

         $oXsl_Dir = $oXsl_Dir->getByName($sDirName, FALSE);

         if (is_null($oXsl_Dir))
         {
            $oXsl_Dir = Core_Entity::factory('Xsl_Dir');
            $oXsl_Dir
               ->parent_id($iParent_Id)
               ->name($sDirName)
               ->save();
         }

         $iParent_Id = $oXsl_Dir->id;
      }

      $oXsl = Core_Entity::factory('Xsl');
      $oXsl
         ->name($aXsl['name'])
         ->xsl_dir_id($iParent_Id)
         ->save();


      $oXsl->saveXslFile($Install_Controller->loadFile($tmpDir . "xsl_" . $sFileName, $aReplace));
   }
}


Я вот думаю, а так и должно быть, что файл в архиве модуля называется xsl_368.xsl, а не 368.xsl, ведь тут именно тут добавляется приставка xsl_
$oXsl->saveXslFile($Install_Controller->loadFile($tmpDir . "xsl_" . $sFileName, $aReplace));
Ускорение сайтов / Любые работы по сайту / Обращайтесь в nivaks-studio.ru
Модератор
#
Re: Вопрос по разработке виджетов для магазина приложений
nikolajgromkov,
файл правильно называется, проверьте еще раз наличие файла в упакованном виджете, если есть, то присылайте в поддержку, заочно не вижу вариантов решить вопрос.
Авторизация