Новости Joomla

IWS.BY VK app widget - Виджет приложения ВКонтакте для Joomla

IWS.BY VK app widget - Виджет приложения ВКонтакте для Joomla

👩‍💻 IWS.BY VK app widget - Виджет приложения ВКонтакте для Joomla.Модуль «Виджет приложения ВКонтакте» для Joomla поможет добавить на сайт виджет с карточкой приложения или игры из социальной сети ВКонтакте.У вас возникла потребность отобразить информацию о ваших приложениях или играх на сайте с кнопкой перехода в социальную сеть, то этот модуль для Вас. Вам не придется хранить информацию о приложении у себя на сайте, все данные получаются через публичное API социальной сети ВКонтакте. Хранение информации на стороне ВКонтакте позволит Вам не нагружать базу данных сайта.В модуле имеется всего несколько опций и полей, которые максимально упрощают публикацию виджета. Первая опция позволяет подключить публичное API социальной сети ВКонтакте, необходимое для работы виджетов. Следующее поле потребует ввести идентификатор приложения или игры, присвоенный в социальной сети ВКонтакте. Следующая опция позволит выбрать вид отображаемой информации в виджете.Модуль имеет 3 варианта отображения:- карточка- участники- кнопкаПоддерживаемые версии Joomla: Joomla 3, Joomla 4, Joomla 5.Страница расширенияJoomla Extensions Directory#joomla #расширения #vk

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

👩‍💻 SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla.Компонент - менеджер цифровых проектов для Joomla! CMS. Компонент обеспечивает создание каталога цифровых проектов и предоставляет возможность скачивания, в том числе с использованием лицензионных ключей.👩‍💻 v.2.5.0. Что нового?Схемы структур данных для серверов обновлений. Теперь с SW JProjects вы может создавать сервер обновлений не только для расширений Joomla, но и свои собственные. Например, вам нужно, чтобы структура данных сервера обновлений была другая и формат должен быть, например, не XML, а JSON. Формирование структуры данных для сервера обновлений расширений Joomla вынесено в отдельный плагин. Вы можете создать свой собственный плагин и реализовать в нём нужную вам структуру данных, добавив или наоборот исключив отображаемые данные. Сервер обновлений в компоненте по-прежнему отображает информацию о списке проектов и их версиях, о конкретном проекте и его changelog.Можно выбрать схему данных сервера обновлений глобально для всего компонента, выбрать другую схему данных для категории проектов, а так же выбрать схему в каждом проекте.

Разработчикам в качестве образца можно посмотреть плагин схемы данных для Joomla в составе компонента или же плагин-образец JSON-схемы на GitHub.
Группа плагинов swjprojects. Для нужд компонента создана группа плагинов swjprojects. В частности, в этой группе находится плагин структуры данных Joomla расширений для сервера обновлений.Изменение языковых констант. Изменены некоторые языковые константы в панели администратора. Если вы делали переопределение констант - переопределите их снова.👩‍💻 Joomla 6. Внесены изменения для корректной установки и работы компонента на Joomla 6. Компонент успешно протестирован на Joomla 6-beta2.Минимальная версия Joomla - 5. Подняты минимальные системные требования: Joomla 5.0.0 и PHP 8.1.
- Страница расширения👉 Плагин-образец кастомной JSON-схемы данных для сервера обновлений на GitHub.- GitHub расширения- Документация на GitHub- Joomla Extensions Directory#joomla #расширения

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

denism300

  • Захожу иногда
  • 210
  • 5 / 0
Подскажите, как вызвать функцию, находящуюся в публичной модели из контроллера, находящегося в админке?
Если просто подключить файл с моделью и обратиться к функции, то подхватываются все параметры (файлы локализаций, блиблиотеки и т.п.), относящиеся к админ. части, соответственно, все это выдает неверный результат.

Мне же надо, чтобы функция "думала", что ее вызвали из публичной части.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Вызов внешней функции из админки
« Ответ #1 : 13.12.2016, 23:27:03 »
Не перестану удивляться тому, как все так любят думать категориями "функция думала", "обмануть функцию". Так часто бывает, что придумав какую-нибудь идею, уже сразу решили, что она единственная верная.
Приведите код, так вам намного быстрее ответят.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
Re: Вызов внешней функции из админки
« Ответ #2 : 14.12.2016, 19:20:00 »
Не перестану удивляться тому, как все так любят думать категориями "функция думала", "обмануть функцию". Так часто бывает, что придумав какую-нибудь идею, уже сразу решили, что она единственная верная.
Приведите код, так вам намного быстрее ответят.
вызываемая функция из публичной модели:
Код: php
function getFile() {
$referer = JRequest::getString('HTTP_REFERER', null, 'SERVER');
$file = './media/com_vmtoxls/price.xlsx';
$this->getXLS($file);

if (JFile::exists($file)) {
header("Content-Type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Content-Length: ".filesize($file));
header("Content-Disposition: attachment; filename=" . JFile::stripExt(JFile::getName($file)). '_' . date("d-m-Y"). '.' . JFile::getExt($file)); 
readfile($file);

}
else {
JFactory::getApplication()->redirect($referer, JText::_('COM_VMTOXLS_NOTICE_FILE_NOT_EXISTS'), error);
}
return true;
}

эта функция, в свою очередь, вызывает getXLS(), которая, получая данные, обращаясь к другим функциям, которые, в свою очередь, делают выборку из БД, формирует xlsx файл.

из контроллера админки я вызываю так:

Код: php
public function update() {
$router = JRouter::getInstance('site');
$router -> setMode(JROUTER_MODE_SEF);
$update = new VMtoXLSModelGetXLS();
$update -> getFile();
$this->setRedirect(JRoute::_('index.php?option=com_vmtoxls&view=products', false));
}

соответственно, функция вызывается из админки и не генерируются чпу ссылки, файл пытается создаться (естественно, неуспешно) не в site/media/com_vmtoxls/, а в site/administrator/media/com_vmtoxls/, не подключается публичная локализация и т.п.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Вызов внешней функции из админки
« Ответ #3 : 14.12.2016, 19:31:17 »
getFile($isSite=true){}. Пишу за рулем. Или испрльзуйте абсолютные пути.
« Последнее редактирование: 14.12.2016, 19:40:43 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Вызов внешней функции из админки
« Ответ #4 : 14.12.2016, 22:20:21 »
Пишу за рулем. Или испрльзуйте абсолютные пути.
2robert
не нарушай ПДД
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Вызов внешней функции из админки
« Ответ #5 : 14.12.2016, 22:36:35 »
2robert
не нарушай ПДД
Виноват, исправлюсь :) (хотя реально езды как таковой и не было: стоял 4 часа в пробке :().
Не будь паразитом, сделай что-нибудь самостоятельно!
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
Re: Вызов внешней функции из админки
« Ответ #6 : 15.12.2016, 01:29:07 »
getFile($isSite=true){}. Пишу за рулем. Или испрльзуйте абсолютные пути.
не сработало.
использовать абсолютные пути не вариант, т.к. в прайс вставляются ссылки на товары, и, если, вызывать из админки, то ссылки не конвертируются в ЧПУ
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Вызов внешней функции из админки
« Ответ #7 : 15.12.2016, 08:28:37 »
Уже много раз писали на форуме, как использовать ЧПУ фронта в админке, не искали?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
Re: Вызов внешней функции из админки
« Ответ #8 : 15.12.2016, 15:37:33 »
искал, и даже перед тем, как создать эту тему, делал изначально так, но возникли проблемы в виде того, что к концу ссылки при вызове из фронта добавлялся алиас кнопки меню.

в итоге, решил проблему так (это кусок кода в публичной модели, отвечающего за формирование ссылки):
Код: php
if ($app->isAdmin()) {
$uri = $router->build(JURI::root(). JRoute::_($link, true));
$path = str_replace(array('http:/', '/administrator', '/index.php'), array('http://', '', ''), $uri->getPath());
$uri->setPath($path);
$url = JURI::root(). $uri->toString(array('path', 'query', 'fragment'));
}
else {
$uri = JURI::root(). JRoute::_($link, true);
$url = str_replace(array('//', 'http:/', '/index.php', '/component/vmtoxls'), array('/', 'http://', '', ''), $uri);
}

не знаю, насколько корректно с точки зрения API Joomla, но работает правильно.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вызов формы компонента в pop-up, при клике по ссылке из любого места

Автор SkyAn

Ответов: 1
Просмотров: 665
Последний ответ 01.03.2021, 04:08:48
от gartes
Установка демо данных из админки расширения

Автор effrit

Ответов: 16
Просмотров: 1283
Последний ответ 28.05.2018, 10:54:48
от effrit
Вызов редактирования материала в модальном окне

Автор AlekVolsk

Ответов: 14
Просмотров: 1755
Последний ответ 18.03.2018, 00:32:29
от robert
Модуль для админки

Автор platonische

Ответов: 2
Просмотров: 1928
Последний ответ 29.03.2017, 16:53:58
от SeBun
вызов setRedirect() из модели

Автор denism300

Ответов: 2
Просмотров: 1272
Последний ответ 11.12.2016, 21:16:12
от denism300