septdirworkshop / jyproextra Goto Github PK
View Code? Open in Web Editor NEWYOOtheme Pro Enhancement Plugin
Home Page: https://www.septdir.com/solutions/joomla/plugins/jyproextra
License: GNU General Public License v3.0
YOOtheme Pro Enhancement Plugin
Home Page: https://www.septdir.com/solutions/joomla/plugins/jyproextra
License: GNU General Public License v3.0
Change plugin settings modal button position in customizer
Remove unset in builder & unset empty
Add a field and menu item type to create overrides for components in a child theme
Установленный по-умолчанию в Joomla TinyMCE (а может и другие редакторы), поддерживает функцию переопределение/дополнения встроенных стилей.
Для переопределения, необходимо создать, в папке шаблона/css файлик editor.css и описать в нём желаемые стили. После этого они появятся в редакторе.
Проблема в том, что редактор не видит файл из дочерней темы yootheme.
Пример файла /templates/yootheme/css/editor.css:
table.sales-table{ border: 1px solid; }
Добавить проверку в файл browser.php на проверку HTTP_USER_AGENT, как оказывается он не всегда приходит в глобальный массив $_SERVER
Chanel plugin name in languages files for JED
Add unset in article
& category
view
Add a modal settings window directly to customizer
Change child theme check in include paths
Reset modules keys after unset
Add param to com_modules for unset module in constructor
Fatal error: Cannot declare class Joomla\CMS\MVC\View\HtmlView
in HikaShop
Add param to com_modules to unset empty module in template
Add a toolbar for administrators with two buttons to the front of the site
customizer
and builder
Add parameter to make two caches with webp and without webp
Добавить атрибут для НЕ обработки изображений "uk-svg", так как юкит достает картинку и встраивает ее в DOM и никакая обработка тегу изображений не нужна.
First of all, thank you very much for developing this useful extension!
Description
The link to access the Builder and Customizer in the frontend leads to the directory administrator/
in the root directory of the webspace, which is not where the admin directory is located if the CMS has been installed in a sub-directory.
Steps to reproduce
Expected behavior
YOOtheme Pro Builder and Customizer opens.
Screenshots
System Information (please complete the following information):
Best regards
Description
The element joomla_breadcrumbs
will be deleted on updating YOOtheme Pro as it is placed in the directory /templates/yootheme/vendor/yootheme/builder-joomla/elements/
instead of a child theme directory.
Steps to reproduce
plg_system_jyproextra_1.3.0
/templates/yootheme/vendor/yootheme/builder-joomla/elements/joomla_breadcrumbs/
that contains the source files for the J! Breadcrumbs element have been deletedExpected behavior
The source files for the J! Breadcrumbs element should still be present and the element should continue to work, unless there have been breaking changes for custom elements in YOOtheme Pro.
System Information:
Thank you!
Собственно, вот так выглядит DJ-Classifieds (список товаров категории) в нормальном виде:
Теперь включаю в JyProExtra настройку:
Изображения
Данная функция позволяет использовать улучшение изображений YOOtheme Pro (webP, lazy load) на всем сайте.
И получаю вот такой результат:
Сравнил HTML код.
Вот обычное состояние:
<img src="/components/com_djclassifieds/images/item/3/prodam-starnnye-serebryannye-monety_7242_1_ths.jpg" class="Tips1" title="" rel="<div class='tp_desc'>Продаю дешево серебреные монеты прошлый век. Не битые и не гнутые полтинники. Остатки большой коллекции, отборные экземпляры и коллекционная сохранность. Четко видно клеймо ПЛ на гурте. Чеканка монетный двор Петроград. Пять монет серебряные полтинники. 4 монеты (звезда) 1922 г. и 1 монета (кузнец с молотом) 1924 г. Продаю все без торга за 5500 р. ...</div><div style='clear:both'></div><div class='title'>Изображения</div><div class='images_box'><img src='/components/com_djclassifieds/images/item/3/prodam-starnnye-serebryannye-monety_7242_1_ths.jpg' /><img src='/components/com_djclassifieds/images/item/3/prodam-starnnye-serebryannye-monety_7242_2_ths.jpg' /></div><div style='clear:both'></div>" alt="Продам старнные серебрянные монеты">
А вот после включения параметра в JyProExtra:
<img class="Tips1" title="" uk-img="" alt="" data-src="/templates/yootheme/cache/prodam-starnnye-serebryannye-monety_7242_1_ths-351f18b7.webp" data-srcset="/templates/yootheme/cache/prodam-starnnye-serebryannye-monety_7242_1_ths-351f18b7.webp 56w" data-sizes="(min-width: 56px) 56px" data-width="56" data-height="32" sizes="(min-width: 56px) 56px" srcset="/templates/yootheme/cache/prodam-starnnye-serebryannye-monety_7242_1_ths-351f18b7.webp 56w" src="https://домен.ru/templates/yootheme/cache/prodam-starnnye-serebryannye-monety_7242_1_ths-351f18b7.webp">Продаю дешево серебреные монеты прошлый век. Не битые и не гнутые полтинники. Остатки большой коллекции, отборные экземпляры и коллекционная сохранность. Четко видно клеймо ПЛ на гурте. Чеканка монетный двор Петроград. Пять монет серебряные полтинники. 4 монеты (звезда) 1922 г. и 1 монета (кузнец с молотом) 1924 г. Продаю все без торга за 5500 р. .</a></div>
Плагин режет rel="", в котортом авторы компонента запихали код.
тут вариант: либо пилить формирование тултпипа в шаблоне компонента, либо в плагине добавить поле для исключения компонентов к обработке (ручками вводим com_djclassifieds).
Add joomla breadcrumbs element
Add method to remove YOOtheme update.css file
В самом простом виде хотелось бы возможность выгрузить выборочные или все записи библиотеки YOOtheme PRO.
Смысл такой:
Мы выгружаем json строку или файл со строками выбранными, и потом на новом сайте загружаем их, они добавляются в библиотеку билдера сразу же.
В перспективе делаем сервис простой.
Пользователь регистрируется.
Получает ключ,
Указывает в плагине.
И получаем возможность экспортировать - импортировать снипеты в личный кабинете, а так же делиться снипетами со неограниченным кругом лиц.
В кабинете он может просмотреть, как тот или иной снипет действует.
Fixes for compatibility with YOOtheme Pro 2.0
Столкнулся с необходимостью спрятать модули, в карточке джушоппинга. Было бы неплохо иметь такую возможность!
Однако, есть и проблема - если начать интегрировать плагин со всеми компонентами, то так никакого селекта не хватит (а если у меня компонент кастомный? Мне вообще форкать плаг придётся?)
Поэтому предлагаю немного иной подход:
Сделать список исключений - динамическим. По-умолчанию всё так же поставляются настройки для исключения из стандартных компонентов. Для всего остального - сделать настройку в самом плагине (сабформу), с двумя полями - название и представление. Таким образом, любой пользователь сможет настроить исключения для себя и не придётся городить кучу интеграций и следить за чужими компонентами
upd
Забыл, что ещё же и компонент проверять нужно. Поэтому можно сделать, либо третье поле "компоннет", либо, в представлении, записывать
com_{componentname}.{view}
Change update server link to
https://www.septdir.com/marketplace/joomla/update?element=plg_system_jyproextra
Добавить исключение модуля если пользователь авторизован в панели управления
~jQuery\(function\(\$\){.*?(\$\((?!document\).ready).*?\}\);).*?}\);~sim
Добавить переопределение стилей и скриптов от media для дочерней темы, сейчас в HTMLHelper жестко прописано, что берем из темы и дополнительные пути не докинуть.
Описание проблемы
Часть плагина Исключение модулей.
На фронте используется компонент Зу.
В настройках плагина выбрано исключение Zoo:Item.
Модуль не исключается.
Дополнительно
Посмотрел код плагина, в Zoo во время нахождения на странице Item нет ни layout, ни view, а только task со значением item.
In some cases, the site based on YOO can use standard com_content views: blog category, articles.
The console shows an error related to chosen.jquery.min.js.
The suggestion is to remove all unnecessary files.
Add the ability to use pagination in all components
Have formdata
customizer : e30=
Add read and add to head context from inline files
yootheme_child/js/inline.min.js
yootheme_child/js/inline.js
yootheme/js/inline.min.js
yootheme/js/inline.js
yootheme_child/css/inline.min.css
yootheme_child/css/inline.css
yootheme/css/inline.min.css
yootheme/css/inline.css
В квикстарате стоит com_advancedmodules
С ним не работает переопределение макетов модулей.
Fatal error: Class 'Joomla\CMS\Helper\ModuleHelperCore' not found in \plugins\system\jyproextra\classes\ModuleHelper.php on line 15
Call Stack
--
1 | 0.0003 | 364896 | {main}( ) | ...\index.php:0
2 | 0.0967 | 6301864 | Joomla\CMS\Application\SiteApplication->execute( ) | ...\index.php:49
3 | 0.0967 | 6301864 | Joomla\CMS\Application\SiteApplication->doExecute( ) | ...\CMSApplication.php:196
4 | 0.1496 | 9479216 | Joomla\CMS\Application\SiteApplication->route( ) | ...\SiteApplication.php:218
5 | 0.1496 | 9479216 | Joomla\CMS\Application\SiteApplication->route( ) | ...\SiteApplication.php:796
6 | 0.1764 | 10399320 | Joomla\CMS\Application\SiteApplication->triggerEvent( ) | ...\CMSApplication.php:1122
7 | 0.1764 | 10399320 | JEventDispatcher->trigger( ) | ...\BaseApplication.php:108
8 | 0.5211 | 17745896 | PlgSystemJYProExtra->update( ) | ...\dispatcher.php:160
9 | 0.5211 | 17745896 | PlgSystemJYProExtra->onAfterRoute( ) | ...\event.php:70
10 | 0.5258 | 17961920 | PlgSystemJYProExtra->overrideClass( ) | ...\jyproextra.php:72
11 | 0.5271 | 18107040 | require_once( '\plugins\system\jyproextra\classes\ModuleHelper.php' )
Квикстарт от ютимов Tomsen Brodey. Дополнительно ничего не ставил, дополненя регулярлабс удалил, все апдейты последниие, включена мультиязычность
The remove script function clears the entire head
I am usign this plugin just for solving the webp cache problem with yootheme pro. It works but randomly I see jpeg served to Chrome or Firefox. I am not able to detect a path, but sometimes it stops serving the pages with webp and starts serving pages with jpeg to chrome or firefox.
I have the latest version of the plugin, Yootheme pro 2.0.8 and php 7.3
Сделать для body уникальный класс для каждой страницы
Вот я делал когда-то уникальный метатег. Но тут надо добавить название компонента и въюху или на их основе какой-то хеш или сумму цифр.
$app = Factory::getApplication();
$document = Factory::getDocument();
$input = $app->input;
$menu = $app->getMenu();
$menuItem = $menu->getActive();
$id = $input->getCmd('id');
$ids = [];
$admin = $app->isClient('administrator');
if($admin)
{
return;
}
if(!empty($menuItem->id))
{
$ids[] = $menuItem->id;
}
if(!empty($id))
{
$ids[] = $id;
}
if(method_exists($document, 'addCustomTag'))
{
$document->addCustomTag('<meta name="PageID" content="' . implode('-', $ids). '" />');
}
Override JFormFieldFieldlayout
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.