GithubHelp home page GithubHelp logo

septdirworkshop / jyproextra Goto Github PK

View Code? Open in Web Editor NEW
17.0 17.0 5.0 381 KB

YOOtheme Pro Enhancement Plugin

Home Page: https://www.septdir.com/solutions/joomla/plugins/jyproextra

License: GNU General Public License v3.0

PHP 95.16% JavaScript 4.84%
joomla joomla-plugin yootheme yoothemepro

jyproextra's People

Contributors

kernusr avatar septdir avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

jyproextra's Issues

Переопрелеение editor.css

Установленный по-умолчанию в Joomla TinyMCE (а может и другие редакторы), поддерживает функцию переопределение/дополнения встроенных стилей.
Для переопределения, необходимо создать, в папке шаблона/css файлик editor.css и описать в нём желаемые стили. После этого они появятся в редакторе.

Проблема в том, что редактор не видит файл из дочерней темы yootheme.

Пример файла /templates/yootheme/css/editor.css:
table.sales-table{ border: 1px solid; }

Что я получаю после этого - видно на скриншоте
Аннотация 2019-11-28 012941

Проверка на USER_AGENT

Добавить проверку в файл browser.php на проверку HTTP_USER_AGENT, как оказывается он не всегда приходит в глобальный массив $_SERVER

YOOtheme Toolbar

Add a toolbar for administrators with two buttons to the front of the site
customizer and builder

Атрибут для изображений

Добавить атрибут для НЕ обработки изображений "uk-svg", так как юкит достает картинку и встраивает ее в DOM и никакая обработка тегу изображений не нужна.

Wrong links in Toolbar for installations in subdirectories

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

  1. Install Joomla in a sub-directory, not the root folder.
  2. Install the plugin.
  3. Activate the option Toolbar.
  4. Visit the frontend.
  5. Click on the toolbar link.

Expected behavior
YOOtheme Pro Builder and Customizer opens.

Screenshots

System Information (please complete the following information):

  • Extension version: 1.3.0
  • PHP version: 7.3.6
  • Joomla! version: 3.9.12 Stable
  • Browser: Chrome

Best regards

J! Breadcrumbs element will be deleted on update

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

  1. Install the plugin plg_system_jyproextra_1.3.0
  2. Open the page builder and add a new J! Breadcrumbs element
  3. Update YOOtheme Pro
  4. The directory /templates/yootheme/vendor/yootheme/builder-joomla/elements/joomla_breadcrumbs/ that contains the source files for the J! Breadcrumbs element have been deleted

Expected 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.

Screenshots

System Information:

  • Extension version: 1.3.0
  • PHP version: 7.3.6
  • Joomla! version: 3.9.12 Stable
  • Browser: Chrome

Thank you!

Конфликт с DJ-Classifieds

Собственно, вот так выглядит DJ-Classifieds (список товаров категории) в нормальном виде:
Screen Shot 2020-05-16 at 13 29 02

Теперь включаю в JyProExtra настройку:
Изображения
Данная функция позволяет использовать улучшение изображений YOOtheme Pro (webP, lazy load) на всем сайте.

Screen Shot 2020-05-16 at 13 29 10

И получаю вот такой результат:
Screen Shot 2020-05-16 at 13 28 54

Сравнил 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).

Импорт экспорт данных из библиотеки готовых снипетов

В самом простом виде хотелось бы возможность выгрузить выборочные или все записи библиотеки YOOtheme PRO.
Смысл такой:
Мы выгружаем json строку или файл со строками выбранными, и потом на новом сайте загружаем их, они добавляются в библиотеку билдера сразу же.

В перспективе делаем сервис простой.
Пользователь регистрируется.
Получает ключ,
Указывает в плагине.
И получаем возможность экспортировать - импортировать снипеты в личный кабинете, а так же делиться снипетами со неограниченным кругом лиц.
В кабинете он может просмотреть, как тот или иной снипет действует.

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

Столкнулся с необходимостью спрятать модули, в карточке джушоппинга. Было бы неплохо иметь такую возможность!
Однако, есть и проблема - если начать интегрировать плагин со всеми компонентами, то так никакого селекта не хватит (а если у меня компонент кастомный? Мне вообще форкать плаг придётся?)
Поэтому предлагаю немного иной подход:
Сделать список исключений - динамическим. По-умолчанию всё так же поставляются настройки для исключения из стандартных компонентов. Для всего остального - сделать настройку в самом плагине (сабформу), с двумя полями - название и представление. Таким образом, любой пользователь сможет настроить исключения для себя и не придётся городить кучу интеграций и следить за чужими компонентами

upd
Забыл, что ещё же и компонент проверять нужно. Поэтому можно сделать, либо третье поле "компоннет", либо, в представлении, записывать
com_{componentname}.{view}

Переопредедение media

Добавить переопределение стилей и скриптов от media для дочерней темы, сейчас в HTMLHelper жестко прописано, что берем из темы и дополнительные пути не докинуть.

Исключение модулей, компонент Zoo, task=item

Описание проблемы
Часть плагина Исключение модулей.
На фронте используется компонент Зу.
В настройках плагина выбрано исключение Zoo:Item.
Модуль не исключается.

Дополнительно
Посмотрел код плагина, в Zoo во время нахождения на странице Item нет ни layout, ни view, а только task со значением item.

[Gloabal] Improvement interface

  • Delete unnecessary settings (child), the functions themselves must be enabled constantly
  • Leave only one fieldset
  • Improve names and descriptions of settings

Remove chosen.jquery.min.js

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.

[Global] Add inline scripts and styles file

Add read and add to head context from inline files

JS

  • yootheme_child/js/inline.min.js
  • yootheme_child/js/inline.js
  • yootheme/js/inline.min.js
  • yootheme/js/inline.js

CSS

  • yootheme_child/css/inline.min.css
  • yootheme_child/css/inline.css
  • yootheme/css/inline.min.css
  • yootheme/css/inline.css

Fatal error: Class 'Joomla\CMS\Helper\ModuleHelperCore' not found

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. Дополнительно ничего не ставил, дополненя регулярлабс удалил, все апдейты последниие, включена мультиязычность

webp cache randomly not working

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). '" />');
  }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.