Новости 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

Перевод и публикация интервью с Joomla евангелистом на греческом портале Joomla

Перевод и публикация интервью на греческом портале Joomla 🇬🇷

Утро, просматриваешь входящие письма и изучаешь новости и внезапно обнаруживаешь, что инициатива, которую ты начал, подхватывается другими людьми. 🎉

Недавно я взял интервью у Билла (Василиса) Коциаса - руководителя студии, читающего лекции в университете и популяризатора Joomla в Греции. Это интервью из журнала NorrNext, в оригинале на английском, теперь доступно на греческом языке и опубликовано на портале joomla.gr. 🎉

До чего же приятно… 😇😊 Работа замечена и с ней посчитали необходимым ознакомить аудиторию страны, в которой Билл читает лекции. И это солнечная Греция - страна, страна, с которой Россию многое связывает. 🇬🇷🇷🇺🕊

Смотрю на греческий алфавит и тут же рисуются картины белоснежных зданий в окружении винограда и амфор, красивых женщин в сандалиях и мужественных воинов, охраняющих покой полисов, в которых ученые мужи работают над трудами, позже вошедшими в века. Красиво! 😇Но вернемся к интервью.

Из него вы узнаете, что в Греции доля Joomla среди CMS занимает порядка 30-40%. По моему мнению это - самый высокий показатель во всем мире. Также чтение лекций о Joomla в университетах позволит привести новых пользователей и к тому же молодое поколение. Ну и огромное кол-во сертификтатов Билла на стене (смотрим фото в статье) свидетельствует о том, что Joomla может применяться как профессиональный инструмент.

🌐 Оригинальное интервью (на английском)
🇬🇷 Интервью на греческом портале (joomla.gr)

Что насчет перевода на русский? Увы, времени всего 24 часа в сутках. Я продолжаю готовить новые интервью. Возможно, после завершения выпуска журнала, рассмотрю перевод некоторых интервью на русский. Но я об этом не говорил. 😊 В блоге @eugenius_blog публикую анонсы интересных событий из мира Joomla, интервью, уроки и полезные советы, а также делюсь мыслями:, связанными с разработкой и веб-дизайном.

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

teoformartel

  • Новичок
  • 7
  • 0 / 0
Задание:
Пользователь переходит по ссылке вида exapmle.com/?a=XXX, a=XXX сразу прописывается в куках браузера.
После перехода пользователя на страницу регистрации, XXX должно прописаться в конкретном поле и, по возможности, заблокировать его от перезаписи.
Если с записью и извлеканием данных из куков проблем нету, то с автоматическим заполнением, к сожалению, есть.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
вы из куков данные прочитали и записали их в какую-то переменную, затем просто присвойте соответствующему полю значение этой переменной и все

для более точно подсказкеи нужно видеть ваш код чтения куки
*

teoformartel

  • Новичок
  • 7
  • 0 / 0
У меня проблема в том, куда эту переменную вписывать. Я использую стандарную систему регистрации. Joomla 3.6.5.
Думаю где-то здесь components/com_users/views/registration/tmpl/default.php, но там поля берутся из components/com_users/models/forms/registration.xml, куда поставить переменную невозможно, это же XML, а не php код.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
а для чего его в принципе писать в поле, а потом пытаться блокировать, если на этапе сохранения регистрации его можно прочесть не из этого поля, а все так же из кук?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

teoformartel

  • Новичок
  • 7
  • 0 / 0
а для чего его в принципе писать в поле, а потом пытаться блокировать, если на этапе сохранения регистрации его можно прочесть не из этого поля, а все так же из кук?
Чтобы пользователь видел, что указанно в этом поле + если в куках пусто, чтобы была возможность пользователю указать необходимые данные в этом поле
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
понятно. ну тогда в чем проблема, добавьте значит в шаблоне регистрации (components/com_users/views/registration/tmpl/default.php или в переопределенном) ваш
Код
<input name="..." value="тут значение из куки">
и все. зачем вам в принципе XML ?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
еще раз, нужно видеть код чтения ваших кук

формы Joomla строятся по определенным правилам, имена полей можно подсмотреть в XML или в исходниках страницы фронта (ctrl+u или в инспекторе), они не меняются
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
та это ж я так понимаю вообще свое какое то поле просто, чтобы передать в сохранение регистрации значение и его там как то обработать. поэтому name думаю можно любое абсолютно.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

teoformartel

  • Новичок
  • 7
  • 0 / 0
dmitry_stas, я уже пробовал таким образом вставить поле, но ничего не получалось.
AlekVolsk, спасибо за подсказку, в коде нашёл это(код одного из полей):
Код
<div class="control-group"> 
<div class="control-label">
<label id="jform_email2-lbl" for="jform_email2" class="hasPopover required" title="Подтверждение адреса электронной почты" data-content="Подтвердите указанный вами адрес электронной почты">    Подтверждение адреса электронной почты:<span class="star"> *</span></label>  
</div>
<div class="controls">
<input type="email" name="jform[email2]" class="validate-email required" id="jform_email2" value="" size="30" required aria-required="true" />
</div>
</div>
Осталось только поменять данные на свои и в атрибут value тега input прописать переменную с нужными мне данными из куков.
Через некоторое время попробую и отпишусь получилось ли.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
я уже пробовал таким образом вставить поле, но ничего не получалось.
ничего - это очень информативно :) клавиатура переставала печатать? редактор не сохранял файл? свет выключался? что - ничего? :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

teoformartel

  • Новичок
  • 7
  • 0 / 0
ничего - это очень информативно :) клавиатура переставала печатать? редактор не сохранял файл? свет выключался? что - ничего? :)
Просто ничего, ничего нового не выводилось, только старые поля как были, так и остались.
« Последнее редактирование: 30.03.2017, 17:08:53 от teoformartel »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну как бы... если вы пишите 123, а этого 123 по итогу нет - то имхо в 99% случаев это говорит о том, что вы не там пишите :) может шаблон регистрации переопределен в шаблоне Joomla? или может вообще регистрация не жумловая?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

teoformartel

  • Новичок
  • 7
  • 0 / 0
ну как бы... если вы пишите 123, а этого 123 по итогу нет - то имхо в 99% случаев это говорит о том, что вы не там пишите :) может шаблон регистрации переопределен в шаблоне Joomla? или может вообще регистрация не жумловая?
Вообщем-то,  шаблон регистрации не переопределён в шаблоне Joomla и компонент регистрации точно стандартная.
Да и вообще, этот файл никак не использовался, чтобы я в нём не менял, на сайте ничего не изменится. Даже переименовывал сам файл default.php - ничего, никакой ошибки или предупреждения.
dmitry_stas, спасибо за подсказку. Так, как переопределения не было, я создал его и поле начало выводиться, но с "ненормальной" кодировкой. Вместо кириллических букв ромбики со знаками вопроса.
Может, у кого-то есть идеи по решению этой проблемы?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
очевидно, сохранили файл в кодировке не UTF-8 без BOM ?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

teoformartel

  • Новичок
  • 7
  • 0 / 0
Спасибо всем за помощь, всё работает ^-^
Написал небольшую инструкцию по тому, как это сделать ^-^
1. В самом начале файла index.php Вашего шаблона добавляем код, который будет записывать информацию в куки(здесь срок действия указан в три дня).
Спойлер
[свернуть]
2. Добавляем поле для регистрации(в интернете есть достаточно информации, как это сделать).
3. После того, как поле добавленно, переходим на страницу регистрации и через отрытый код страницы находим это поле(сам код поля сохраняем где-нибудь себе в файл).
Спойлер
[свернуть]
4.При создании поля мы добавляли field в /components/com_users/models/forms/registration.xml. Этому field ставим type - hidden.
5.Создаем переопределенние файла default.php из components/com_users/views/registration/tmpl/. Инструкция о том, как сделать переопределение также есть в интернете.
6. В переопределённом файле default.php из п.5 после строк:
Код
</fieldset>
<?php endif;?>
<?php endforeach;?>
добавляем свой код свой код извлекания куков и самого поля(п.3):
Спойлер
[свернуть]
Также делаем изменения в коде поля: в значении атрибута value прописываем
Код
<?php echo $referid; ?>
и добавляем, как атрибут, код
Код
 <?php echo $readonly; ?>
Вот и всё.
Если кто-то найдёт ошибку, прошу исправить или указать на нее, я исправлю.
Также, могу предполагать, что мой способ реализации этой цели может быть нерационален. Если у Вас есть способ лучше, расскажите о нём в этой теме.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывести поля профиля Joomla

Автор romagromov

Ответов: 11
Просмотров: 2848
Последний ответ 28.04.2025, 10:25:44
от sivers
[Решено] Вывод значений из custom fields материала в модуле по имени поля

Автор goga_pgasovav

Ответов: 3
Просмотров: 1497
Последний ответ 30.12.2024, 13:22:11
от goga_pgasovav
Вывод дополнительного поля материала в модуле

Автор timofe

Ответов: 10
Просмотров: 2646
Последний ответ 06.10.2023, 14:02:24
от Mitriy
Добавление поля в форму регистрации

Автор Robert24

Ответов: 3
Просмотров: 989
Последний ответ 10.10.2022, 23:35:04
от Robert24
Тип поля формы Select sql, как заполнить его через функцию php?

Автор GuDeVic

Ответов: 13
Просмотров: 1753
Последний ответ 07.10.2022, 12:25:45
от fsv