Новости 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 Гость просматривают эту тему.
  • 4 Ответов
  • 2707 Просмотров
*

alexx2007

  • Захожу иногда
  • 145
  • 9 / 1
Вобщем из темы уже ясно, надо чтобы чел видел товар, причем у которого нет цены и мог бы сделать заявку.

Кто-то решал уже подобное? С чего ваще начать?
« Последнее редактирование: 06.12.2009, 21:28:09 от alexx2007 »
*

Raz0r

  • Захожу иногда
  • 260
  • 6 / 6
сам уже две недели ищу подобное, но как вижу - пока решения ни у кого нет. Кто решит - отпишитесь здесь, у многих такой вопрос, а тема подробно его описывает.....и вообще лучше тему закрепить потом.
Получилось только так:
если при вводе товара поставить цену вручную - 0 и указать валюту (если не указана умолчальная), но тогда и на странице товара тоже появляется RU0.00, а вот от этого уже не избавиться - если убрать показ цен, то и кнопка пропадает

P.S. отписался в обоих темах по этому же поводу - темы одинаковые, может модераторы сольют их в одну?
« Последнее редактирование: 05.12.2009, 16:15:12 от Raz0r »
*

alexx2007

  • Захожу иногда
  • 145
  • 9 / 1
Не, решение конечно есть: тупо по всему пути следования товара (от каталога до окончания заказа) из всех форм вырезать все, что связано с ценой. Головняк конечно, но че-то я так подумал, что по-ходу другого варианта не будет.

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

Сходу могу сказать, что это browse_x.php - аккуратно комментируем колонку с ценой.
Придется поработать со всеми модулями типа Новых поступлений - там тоже цены быть не должно и т.д.
Корзина, 4 шага оформления заказа и 2 формы отчета для манагера и покупателя.
Вобщем все и везде, что связано с $product_price...

Вот так.
*

alexx2007

  • Захожу иногда
  • 145
  • 9 / 1
сам уже две недели ищу подобное, но как вижу - пока решения ни у кого нет.
Ну вот, я наваял... На мануал не претендую :)

Итак J 1.0.15 + Virt 1.1.3

Для начала идем сюда:
components\com_virtuemart\themes\default\templates\browse файлик browse_x.php

У меня строка с выводом цены:
<p><?php echo $product_price ?></p>

Комментируем ее:
<!-- <p><?php echo $product_price ?></p> -->

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

Дальше лезем на:
components\com_virtuemart\themes\default\templates\basket файл basket_b2c.html.php

Опять же коммент: для тех, кто использует маг с налогами - basket_b2c.html.php, без налогов basket_b2b.html.php, по-моему так.
Короче я правил basket_b2c.html.php , было так:

<table width="100%" cellspacing="2" cellpadding="4" border="0">
  <tr align="left" class="sectiontableheader">
        <th><?php echo $VM_LANG->_('PHPSHOP_CART_NAME')?></th>
        <th><?php echo $VM_LANG->_('PHPSHOP_CART_SKU')?></th>
   <!-- <th><?php echo $VM_LANG->_('PHPSHOP_CART_PRICE')?></th> -->
   <th><?php echo $VM_LANG->_('PHPSHOP_CART_QUANTITY')?> / <?php echo $VM_LANG->_('PHPSHOP_CART_ACTION')?></th>
   <!-- <th><?php echo $VM_LANG->_('PHPSHOP_CART_SUBTOTAL')?></th> -->
  </tr>
<?php foreach( $product_rows as $product ) { ?>
  <tr valign="top" class="<?php echo $product['row_color'] ?>">
   <td><?php echo $product['product_name'] . $product['product_attributes'] ?></td>
   <td><?php echo $product['product_sku'] ?></td>
   <td align="right"><?php echo $product['product_price'] ?></td>
   <td><?php echo $product['update_form'] ?>
      <?php echo $product['delete_form'] ?>
   </td>
    <td align="right"><?php echo $product['subtotal'] ?></td>
  </tr>
<?php } ?>
<!--Begin of SubTotal, Tax, Shipping, Coupon Discount and Total listing -->
  <tr class="sectiontableentry1">
    <td colspan="4" align="right"><?php echo $VM_LANG->_('PHPSHOP_CART_SUBTOTAL')?>:</td>
    <td colspan="3" align="right"><?php echo $subtotal_display ?></td>
  </tr>
<?php if( $discount_before ) { ?>
  <tr class="sectiontableentry1">
    <td colspan="4" align="right"><?php echo $VM_LANG->_('PHPSHOP_COUPON_DISCOUNT')?>:
    </td>
    <td colspan="3" align="right"><?php echo $coupon_display ?></td>
  </tr>
<?php }
if( $shipping ) { ?>
  <tr class="sectiontableentry1">
   <td colspan="4" align="right"><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_SHIPPING')?>: </td>
   <td colspan="3" align="right"><?php echo $shipping_display ?></td>
  </tr>
<?php }
if($discount_after) { ?>
  <tr class="sectiontableentry1">
    <td colspan="4" align="right"><?php echo $VM_LANG->_('PHPSHOP_COUPON_DISCOUNT')?>:
    </td>
    <td colspan="3" align="right"><?php echo $coupon_display ?></td>
  </tr>
<?php } ?>
  <tr>
    <td colspan="4">&nbsp;</td>
    <td colspan="3"><hr /></td>
  </tr>
  <tr class="sectiontableentry1">
    <td colspan="4" align="right"><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_TOTAL')?>: </td>
    <td colspan="3" align="right"><strong><?php echo $order_total_display ?></strong></td>
  </tr>
<?php if ( $show_tax ) { ?>
  <tr class="sectiontableentry1">
        <td colspan="4" align="right" valign="top"><?php echo $VM_LANG->_('PHPSHOP_ORDER_PRINT_TOTAL_TAX')?>: </td>
        <td colspan="3" align="right"><?php echo $tax_display ?></td>
  </tr>
<?php } ?>
  <tr>
    <td colspan="7"><hr /></td>
  </tr>
</table>

Убиваем все, что связано с ценой, в том числе и Промежуточный итог - он ведь нам не нужен? Получилось:

<table width="100%" cellspacing="2" cellpadding="4" border="0">
  <tr align="left" class="sectiontableheader">
        <th><?php echo $VM_LANG->_('PHPSHOP_CART_NAME')?></th>
        <th><?php echo $VM_LANG->_('PHPSHOP_CART_SKU')?></th>
      <th><?php echo $VM_LANG->_('PHPSHOP_CART_QUANTITY')?> / <?php echo $VM_LANG->_('PHPSHOP_CART_ACTION')?></th>
  </tr>
<?php foreach( $product_rows as $product ) { ?>
  <tr valign="top" class="<?php echo $product['row_color'] ?>">
   <td><?php echo $product['product_name'] . $product['product_attributes'] ?></td>
   <td><?php echo $product['product_sku'] ?></td>
   <td><?php echo $product['update_form'] ?><?php echo $product['delete_form'] ?></td>
  </tr>
<?php } ?>
</table>

А нужен ли нам после этого модуль minicart? Вобще, наверное кому-нибудь нужен... Идем сюда:
components\com_virtuemart\themes\default\templates\common файл minicart.tpl.php

Убиваем строки:
            <div style="float: right;">
            <?php echo $cart['price'] ?>
            </div>
и
         <div style="float: right;">
            <?php echo $total_price ?>
         </div>

Корзина после таких издевательств выдает только кол-во и наименование товаров в Корзине и ссылку на Корзину. Как таковая смысловая функциональность миникорзины потерялась напрочь, поэтому я добавил в главное меню ссылку на Корзину, а миникорзину убрал с сайта ваще. Кому как.
Дальше получилось так, что мне пришлось способы оплаты отключить ваще. Всмысле все. Нафига мне способы оплаты, если даже цены на сайте нет? Поэтому гребем в Админку - Магазин - Способы оплаты и отключаем их всех.
Но совсем ни одного способа оплаты в системе быть не может, логично, если оплата будет вообще :) Поэтому стряпаем себе новую оплату (либо правим любую другую):
Я создал себе новый способ оплаты и назвал его "Выписать счет на оплату.", класс имени платежа ps_cashondel и способ оплаты - "Доставка по адресу..."
По задумке манагеры выставляют счет покупателю при получении заявки, цена указана в прайсе, прайс можно скачать с сайта. Таким образом мы избегаем лишнего гемора с ежедневными исправлениями цен на каждый товар, а прайс по ftp выкинуть - как два пальца...
После того, как мы отрубили все способы оплаты и оставили только один, система даже не выкидывает страницу с их вариантами, и маг автоматом переходит на страницу подтверждения заявки.
Подтверждаем и... у меня TheBat! замахал крылами - пришло. Но не совсем то, что надо... Там опять все цены! Ну конечно, забыли поправить мыльную форму для клиента и для манагера. Валим сюда:

components\com_virtuemart\themes\default\templates\order_emails и правим файлик confirmation_email.tpl.php по образу и подобию того, что делали с корзиной. Я убрал строки

<td><?php echo $my_price ?></td>
<td><?php echo $CURRENCY_DISPLAY->getFullValue($my_subtotal, '', $db->f('order_currency'))?></td>

и все со 188-й строки:
<tr class="Stil1">

по 248-ю:
</tr>

и следующее письмо с магазина я уже получил без цен.

Вот, вкратце так.

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

alexx2007

  • Захожу иногда
  • 145
  • 9 / 1
И еще. Оказалось, что это не все :)
В письме есть ссылка, по которой можно посмотреть заказ...
Из письма, которое приходит манагеру ссылка смотрит на файл:

administrator\components\com_virtuemart\html\order.order_print.php - курочим все то же самое, что и с формой для письма

из письма для пользователя ссылка идет на файл:

administrator\components\com_virtuemart\html\account.order_details.php - без комментариев.

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