Новости Joomla

SW JProjects v.2.6.0 - компонент каталога расширений для Joomla

👩‍💻 SW JProjects v.2.6.0 - компонент каталога расширений для Joomla.Компонент позволяет сделать свой мини-Joomla Extensions Directory - каталог расширений для CMS (не только для Joomla) или файлов. Есть возможность скачивания по лицензионным ключам.👩‍💻 v.2.6.0. Что нового?Этот релиз прежде всего связан с SEO и AI-оптимизацией. - Микроразметка Schema.org.Добавлен плагин микроразметки Schema.org для сущностей компонента. Для списков используется ListItem, для страницы проекта и версии - SoftwareApplication, для страницы документации - TechArticle. Плагин группы schemaorg в отличие от стандартных плагинов заполняет данные автоматически, но встраивает данные в граф сущностей микроразметки Joomla. Также исправляется одна ошибка генерируемой ядром микроразметки в зоне ответственности компонента.- Улучшение поиска по ключам. В панели администратора в списке ключей теперь можно искать по номеру заказа, email, домену, содержимому примечания к ключу.- Список ключей в админке. В списке ключей в панели администратора добавлен вывод домена и примечания- Поиск в списке проектов. Поиск в списке проектов в панели администратора стал более точным. Из полей для поиска убраны лишние поля.Компонент работает на Joomla 6 без включённого плагина обратной совместимости.Страница расширения и скачатьGitHub расширения.Joomla Extensions Directory#joomla #расширения

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

👩‍💻 Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях. На старте его сайт на Joomla 3 вообще не смог обновиться на Joomla 5. Пришлось делать экспорт/импорт материалов. Проделав всё это он запустил-таки этот объём данных на Joomla 5. Тестовый скрипт грузил 200 материалов из этого объёма всего за 94 секунды ))) А главная страница с категориями грузилась 20 секунд. Добавив индекс для таблицы #__content

CREATE INDEX idx_catid_state ON #__content (catid, state);
он сократил время загрузки категорий до 1 секунды. Затем наш герой решил поковырять SQL-запрос в ArticleModel, который отвечает за выборку материалов. И решил заменить тип JOIN на STRAIGHT_JOIN для категорий.
// ->from($db->quoteName('#__content', 'a'))->from(    $db->quoteName('#__content', 'a')    . ' STRAIGHT_JOIN ' . $db->quoteName('#__categories', 'c')    . ' ON ' . $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))// ->join('LEFT', $db->quoteName('#__categories', 'c'), $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))
Что сократило загрузку 200 материалов из 150к с 94 секунд до 5. К слову сказать, боевой сайт на Joomla 3 крутится на 12CPU 64GB рамы. А все манипуляции с кодом он делает на базовом 1CPU 1GB сервере и замеры скорости даны именно для базового сервера. Но это всё в дискуссии, хотя в идеале должно вылиться в Pull Requests. Мы - Open Source сообщество, где никто никому ничего не должен. Джунгли. Но человек ищет пути оптимизации Joomla и предлагает решения. Если оказать поддержку и предложить помощь хотя бы с тестированием самых разнообразных сценариев, то возможно эти улучшения смогут войти в ядро. Пусть не быстро, пусть через несколько лет, пусть не все, но войдут. Достаточно предложить руку помощи и приложить немного усилий.
Дискуссию на GitHub можно почитать здесь.@joomlafeed#joomla #community #php

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

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Всем привет!
Хочется по красоте вывести в статье ссылку на редактирования таким образом, чтобы статья на редактирование открывалась в админке, а не с фронта (с фронта мне не нравится - надо всякие бутстрапы подключать и вообще...).
Есть такая функция в API?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
В API - вряд ли. А так, в принципе можно, но есть 2 проблемы:
-авторизация,
-отключение проверки разрешения на редактирование в контроллере, что, полагаю, нежелательно с точки зрения безопасности (не вникал, но раз поставили, значит для чего-то нужно).
Не будь паразитом, сделай что-нибудь самостоятельно!
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
ну замени ссылку на
Цитировать
/administrator/index.php?option=com_content&task=article.edit&id=ID
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
ну так и придется делать.
+ проверку на ID юзера или даже IP-шник, чтобы казать или скрывать ссылку (я так понимаю, если с фронта не залогинен, то только отдельным запросом можно достать группу юзера по ID?)
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
интересно, а можно как-то вытянуть с фронта инфу о залогинивании с бэкэенда?
может через сессию можно как-то определить, что админ сайт просматривает?
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
ну так и придется делать.
+ проверку на ID юзера или даже IP-шник, чтобы казать или скрывать ссылку (я так понимаю, если с фронта не залогинен, то только отдельным запросом можно достать группу юзера по ID?)
если ты не залогинен, не знаю какую ты группу собрался там доставать)
если залогинен, то группу можно проверить так
Код
$user = JFactory::getUser();
if (in_array('id группы', $user->groups)) {
    //выводим ссылку
}
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
да у меня ум за разум уже. параллельно 3 сайт ан WP - там нет такого деления. типа, зологинился с бэкенда, с фронта видишь панель редактирования...
вот такое хочу замутить )). даешь унификацию интерфейсов! )). пока что через IP придется

а косвенно узнать, через сессию?
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
да у меня ум за разум уже. параллельно 3 сайт ан WP - там нет такого деления. типа, зологинился с бэкенда, с фронта видишь панель редактирования...
вот такое хочу замутить )). даешь унификацию интерфейсов! )). пока что через IP придется

а косвенно узнать, через сессию?
в принципе можно сделать через куки наверное, может что-то есть на JED готовое
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
да судя по всему мне одному надо такую фичу ))
нагуглил 1 грустную тему на инглише, в которой ответили, что типа "архитектурой разведено".
наверно, так и придется делать - для залогининных с фронта админов ставить куку на полгода, а в статье по ней казать ссыль.
сасибо за пинание в правильную сторону )
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
в общем, поработал топором :)
отдельным микрофайлом в корне сайта устанавливаю или обнуляю куку по GET запросу (1 - показывать ссылку, 0 - не показывать),
Код
ваш сайт/ИМЯ_ФАЙЛА.php?show=1

содержимое файла
Код
	$se_flag = filter_var ( $_GET[show], FILTER_SANITIZE_NUMBER_INT); //очищаем переменную от всего, кроме цифер
//echo $se_flag;
setcookie ("ShowEdit", $se_flag, time()+3*24*60*60); // ставим куку на 3 дня

а в шаблон врезал вот это

Код
	if (filter_var ( $_COOKIE["ShowEdit"], FILTER_SANITIZE_NUMBER_INT)){
$path="";
$btName="РЕДАКТИРОВАТЬ МАТЕРИАЛ";
if(showPage(array('option'=>'com_content', 'view'=>'article'))) $path='"/administrator/index.php?option=com_content&task=article.edit&id='.$_REQUEST[id].'"';
if(showPage(array('option'=>'com_content', 'view'=>'category')) || showPage(array('option'=>'com_content', 'view'=>'categories'))){
$path='"/administrator/index.php?option=com_categories&task=category.edit&id='.$_REQUEST[id].'"';
$btName="РЕДАКТИРОВАТЬ КАТЕГОРИЮ";
}
if ($path!="") echo '<a target="blank" href='.$path.'>'.$btName.'</a>';

}
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться