Новости Joomla

Joomla 6: Автоматические обновления ядра в Joomla

Joomla 6: Автоматические обновления ядра в Joomla

👩‍💻 Joomla 6: Автоматические обновления ядра в Joomla. В октябрьском номере официального журнала Joomla - Joomla Community Magazine вышла статья David Jardin, где рассказывается о внедрении функционала автоматического обновления ядра Joomla.❓Почему сейчас? Joomla же жила как-то 20 лет без автоматических обновлений?Это оказалась самая востребованная за последнее время от пользователей Joomla функция. Но, основная причина внедрения - проблемы безопасности. Всякий раз, когда в новой версии Joomla устраняется уязвимость, злоумышленники начинают анализировать код, чтобы выяснить, какая именно уязвимость была исправлена. И как только они это выясняют - начинается разработка автоматизированных скриптов для взлома как можно большего количества сайтов. Затем доступы к автоматически взломанным сайтам продаются в профильных чатах и ресурсах "пачками" по несколько сотен тысяч или миллионов сайтов. Ваш сайт могли взломать несколько лет назад, но воспользоваться уязвимостью могут не сразу, а тогда, когда у злоумышленников возникнет необходимость. И только после этого вы может быть узнаете об этом.Анализ патча, понимание проблемы и разработка скрипта требуют времени. И если владелец сайта не обновит его до истечения этого срока, сайт может быть взломан. А хакеры действуют быстро! Для критических, легко эксплуатируемых уязвимостей речь идёт о временном окне в 10–12 часов — и этого времени явно недостаточно, чтобы все успели обновить свои сайты.Здесь выходят на первый план автоматизированные обновления: проект Joomla теперь может активно устанавливать обновления (и, следовательно, исправления безопасности) на сайты, чтобы гарантировать, что сайты действительно обновляются вовремя.🕘 От первых идей до реализации прошло 5 лет. И здесь можно вспомнить, как в Joomla 5.1 внедрили TUF - The Update Framework, позволяющий устанавливать защищённое соединение между сайтом и сервером обновлений и исключает возможность supply chain attack (атаки на цепочку поставок).Об особенностях реализации и требованиях к сайту читаем подробнее в статье на JCM.@joomlafeed#joomla #secutiry #jcm

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™. Интервью с волонтёрами 🎈Ну что, друзья, вот и настал этот долгожданный момент. Мы выпустили первое издание собственного журнала под эгидой NorrNext, который включает в себя интервью с видными деятелями сообщества из разных стран и континентов.Общий нарратив: показать, что нас объединяет (Joomla) и узнать больше о людях, которые вносят свой вклад в развитие платформы в своих сообществах. 20 лет — это много. Давайте же узнаем о коллегах 🎁 Первый цикл включает такие страны, как Австрия, Испания, Латвия, Россия, Румыния, Тайланд, Черногория, Чехия.⚙️ С кем интервью: ✔️ Владимир Елисеев 🇷🇺✔️ Дмитрий Рекун 🇱🇻✔️ Дмитрий Цымбал 🇷🇺✔️ Евгений Сивоконь 🇷🇺 ✔️ Сергей Толкачёв 🇷🇺✔️ Dénes Székely 🇷🇴✔️ Jan Pavelka 🇨🇿✔️ Miljan Vujosevic 🇲🇪✔️ Sergio Iglesias 🇪🇸✔️ Sigrid Gramlinger 🇦🇹✔️ Pisan Chueatchatchai 🇹🇭‼️ Новые интервью будут добавляться до конца декабря 2025. Заходите по ссылке время от времени💡👉 Читать далее

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

qwas2012

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Сделал дополнительные поля для ввода дополнительной информации под картинкой, для того чтоб при клике по по миниатюре в карточке товара менялась не только картинка но и дополнительное содержимое. Проблема только в том что это поле не записывает в базу HTML (после сохранения оставляет голый текст), сколько пытался побороть не удалось...    !!!???!!!

А вот тут о том как я все это провернул  *RTFM*

Joomshopping Version 4.18.4

Открываем:

administrator/components/com_jshopping/views/product_edit/tmpl/images.php

добавляем после:
Код
<div style="height:3px;"></div>
<div style="padding-bottom:5px;padding-right:5px;">
<a class="modal" href="<?php echo getPatchProductImage($image->image_name, 'full', 1)?>" rel="{handler: 'image'}">
<img style="cursor:pointer" src="<?php echo getPatchProductImage($image->image_name, 'thumb', 1)?>" alt="" />
</a>
</div>
вот это:
Код
<textarea placeholder="HTML код на картинке" style="width:96%;" name="old_image_text[<?php print $image->image_id?>]" class="wide" rows="5"><?php echo $image->image_text ?></textarea>
Открываем:

administrator/components/com_jshopping/models/products.php

добавляем после:
Код
if (isset($post['old_image_descr'])){
$this->renameProductImageOld($post['old_image_descr'], $post['old_image_ordering']);
}
вот это:
Код
if (isset($post['old_image_text'])){
$this->renameProductImageTextOld($post['old_image_text']);
}
добавляем после:
Код
function renameProductImageOld($image_descr, $image_ordering){
$db = JFactory::getDBO();
foreach($image_descr as $id=>$v){
$query = "update `#__jshopping_products_images` set `name`='".$db->escape($image_descr[$id])."', `ordering`='".$db->escape($image_ordering[$id])."' where `image_id`='".$db->escape($id)."'";
$db->setQuery($query);
$db->query();
}
}
вот это:
Код
function addToProductImageText($product_id, $image_text)  {
$image = JSFactory::getTable('image', 'jshop');
$image->set("image_id", 0);
$image->set("product_id", $product_id);
$image->set("image_text", $image_text);
$image->store();
}

function renameProductImageTextOld($image_text){
$db = JFactory::getDBO();
$query = "update `#__jshopping_products_images` set `image_text`='".$db->escape($image_text[$id])."'  where `image_id`='".$db->escape($id)."'";    
$db->setQuery($query);
$db->query();
}
}
Открываем:

components/com_jshopping/templates/default/product/product_default.php

Меняем:
Код
<a class="lightbox" id="main_image_full_<?php print $image->image_id?>" href="<?php print $this->image_product_path?>/<?php print $image->image_full;?>" <?php if ($k!=0){?>style="display:none"<?php }?> title="<?php print htmlspecialchars($image->_title)?>">
<img id = "main_image_<?php print $image->image_id?>" src = "<?php print $this->image_product_path?>/<?php print $image->image_name;?>" alt="<?php print htmlspecialchars($image->_title)?>" title="<?php print htmlspecialchars($image->_title)?>" />
<div class="text_zoom">
<img src="<?php print $this->path_to_image?>search.png" alt="zoom" />
<?php print _JSHOP_ZOOM_IMAGE?>
</div>
</a>
На:
Код
<a class="lightbox" id="main_image_full_<?php print $image->image_id?>" href="<?php print $this->image_product_path?>/<?php print $image->image_full;?>" <?php if ($k!=0){?>style="display:none"<?php }?> title="<?php print htmlspecialchars($image->_title)?>">
<img id = "main_image_<?php print $image->image_id?>" src = "<?php print $this->image_product_path?>/<?php print $image->image_name;?>" alt="<?php print htmlspecialchars($image->_title)?>" title="<?php print htmlspecialchars($image->_title)?>" />

<?php print $image->image_text;?>

<div class="text_zoom">
<img src="<?php print $this->path_to_image?>search.png" alt="zoom" />
<?php print _JSHOP_ZOOM_IMAGE?>
</div>
</a>

Далее в БД создаем в таблице ***_jshopping_products_images создаем поле image_text

Ну вот и все, может кому пригодится.

Если кому не сложно, помогите довести все это дело до ума, а именно подключить поддержку HTML! Буду благодарен!

« Последнее редактирование: 26.06.2020, 15:06:26 от qwas2012 »
*

kit2m2

  • Живу я здесь
  • 3370
  • 276 / 0
  • Беру сайты на полное сопровождение
Ну вот и все, может кому пригодится.

Никому не пригодиться, потому что, изменять ядро компонента плохой тон. При обновлении все ваши правки слетят. А своевременные обновления просто жизненно необходимы!

Далее в БД создаем в таблице ***_jshopping_products_images создаем поле image_text...

... Если кому не сложно, помогите довести все это дело до ума, а именно подключить поддержку HTML! Буду благодарен!

Нужно изменить тип поля в базе данных. Вы какой задали? Тут подробнее - Типы полей MySQL

И вообще напишите какие данные хотите выводить, может вместе разберемся.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

qwas2012

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Я не спорю, это можно было сделать плагином, но его годность после обновлений тоже под вопросом )

Тип поля: text

Пример данных:

<div class="row">Спасибо!</div>
*

kit2m2

  • Живу я здесь
  • 3370
  • 276 / 0
  • Беру сайты на полное сопровождение
<div class="row">Спасибо!</div>
При смене картинки, разные дивы? Одинаковые во всех товарах или Уникальные для для каждого товара?
Тип поля: text
Если в базе такой тип, то HTML должен сохраняться

Если действительно как в примере, то зачем в базу сохранять HTML? Просто поместите в шаблон <div class="row">...</div>, в нем уже делайте вывод.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Если в базе такой тип, то HTML должен сохраняться
Скорее всего HTML затирается еще до помещения в БД. При заполнении массива $post. Ради теста можно считывать текст не из $post['old_image_text'], а из сырого $_POST['old_image_text']. Но это небезопасно и кроме как для теста не годится. Как и вся затея с правкой исходных файлов, впрочем.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

qwas2012

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Цитировать
При смене картинки, разные дивы? Одинаковые во всех товарах или Уникальные для для каждого товара?

При смене картинок разное содержимое и дивы

Цитировать
Если в базе такой тип, то HTML должен сохраняться

Не сохраняется если сами сделаете, то увидите. Если скопировать в поле "<div class="row">Спасибо!</div>" после сохранения видим результат "Спасибо!"
*

qwas2012

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Скорее всего HTML затирается еще до помещения в БД. При заполнении массива $post. Ради теста можно считывать текст не из $post['old_image_text'], а из сырого $_POST['old_image_text']. Но это небезопасно и кроме как для теста не годится. Как и вся затея с правкой исходных файлов, впрочем.
Спасибо помогло!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Поле Код товара - проверка на уникальность

Автор dron

Ответов: 8
Просмотров: 943
Последний ответ 29.10.2019, 11:25:25
от dron
Изменение фото атрибута при наведении на опцию в поле <select>

Автор Jess23

Ответов: 8
Просмотров: 1560
Последний ответ 21.07.2016, 11:10:41
от grishin
Ввести с поле с номером почтового отправления в заказ

Автор Doctor Death

Ответов: 9
Просмотров: 2307
Последний ответ 19.07.2016, 19:46:21
от Roman74ru
Ограничение символов в полях и перенос поля поле "Дополнительная информация".

Автор Kotov

Ответов: 24
Просмотров: 3839
Последний ответ 13.02.2016, 13:02:43
от dmitry_stas
Дополнительное поле в карточке товара

Автор kirillgolodaev

Ответов: 1
Просмотров: 1109
Последний ответ 22.08.2015, 13:51:03
от Taatshi