Новости Joomla

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

Перевод и публикация интервью на греческом портале Joomla 🇬🇷Утро, просматриваешь входящие письма и изучаешь новости и внезапно обнаруживаешь, что инициатива, которую ты начал, подхватывается другими людьми. 🎉Недавно я взял интервью у Билла (Василиса) Коциаса - руководителя студии, читающего лекции в университете и популяризатора Joomla в Греции.Это интервью из журнала NorrNext, в оригинале на английском, теперь доступно на греческом языке и опубликовано на портале joomla.gr. 🎉До чего же приятно… 😇😊 Работа замечена и с ней посчитали необходимым ознакомить аудиторию страны, в которой Билл читает лекции. И это солнечная Греция - страна, страна, с которой Россию многое связывает. 🇬🇷🇷🇺🕊Смотрю на греческий алфавит и тут же рисуются картины белоснежных зданий в окружении винограда и амфор, красивых женщин в сандалиях и мужественных воинов, охраняющих покой полисов, в которых ученые мужи работают над трудами, позже вошедшими в века. Красиво! 😇Но вернемся к интервью. Из него вы узнаете, что в Греции доля Joomla среди CMS занимает порядка 30-40%. По моему мнению это - самый высокий показатель во всем мире. Также чтение лекций о Joomla в университетах позволит привести новых пользователей и к тому же молодое поколение. Ну и огромное кол-во сертификтатов Билла на стене (смотрим фото в статье) свидетельствует о том, что Joomla может применяться как профессиональный инструмент. 🇬🇷 Интервью на греческом портале (joomla.gr)🌐 Оригинальное интервью (на английском)Что насчет перевода на русский? Увы, времени всего 24 часа в сутках. Я продолжаю готовить новые интервью. Возможно, после завершения выпуска журнала, рассмотрю перевод некоторых интервью на русский. Но я об этом не говорил. 😊 В блоге @eugenius_blog публикую анонсы интересных событий из мира Joomla, интервью, уроки и полезные советы, а также делюсь мыслями:, связанными с разработкой и веб-дизайном.

Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5

👩‍💻 Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5.В Joomla для выполнения внешних запросов из PHP к сторонним API используется класс Joomla\Http\Http напрямую или же Joomla\Http\HttpFactory, который возвращает для работы преднастроенный по умолчанию класс Http. О работе с HTTP-запросами подробно рассказывалось в статье 2021 года Создание внешних запросов с использованием HttpFactory (Joomla). Некоторые изменения касаются работы с ответами на запросы. Например, наш запрос:
use Joomla\Http\HttpFactory;$http = (new HttpFactory)->getHttp($options, ['curl', 'stream']);$response = $http->get('https://any-url.ru/api/any/endpoint');
Раньше можно было получить код ответа или тело ответа как свойство $response - $response->code или $response->body. Однако, Joomla, начиная с Joomla 4 во многом переходит на стандарты PSR. В частности для работы с HTTP-ответами - на PSR-7. Также хорошая статья на Хабре о PSR-7: PSR-7 в примерах.
Прямое обращение к свойствам code, headers, body объявлено устаревшим в Joomla 6.0.0 и обещают удалить в Joomla 7.0.0.
Вместо этого нужно работать с HTTP-ответом по стандартам PSR-7. Код ответа.Было $response->code. Стало $response->getStatusCode().Заголовки ответа.Было $response->headers. Стало $response->getHeaders().Тело ответа.Было $response->body. Стало (string)$response->getContents().В тело ответа теперь приходит не строка, а поток - объект класса Laminas\Diactoros\Stream. Поэтому его нужно привести к строке (если это json, к примеру): (string)$response->getContents(). Чаще всего в коде Joomla встречается именно такой вариант. Однако, есть и вариант с перемещением указателя чтения на начало потока:
// Получили ответ в виде потока$stream = $response->getBody();// "перемотали" на начало$stream->rewind();// Получили строковый ответ$json = $stream->getContents();
В итоге результат одинаковый.@joomlafeed#joomla #разработка #php

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

antony2606

  • Давно я тут
  • 634
  • 46 / 4
  • Работаем!
Всем привет! ) Сабственно сабж
Подскажите пожалуйста, где править и как лучше, закомментировать или удалить строчки...?
Буду очень благодарен за помощь!
« Последнее редактирование: 07.01.2013, 14:05:38 от antony2606 »
*

Vezan

  • Осваиваюсь на форуме
  • 25
  • 1 / 0
Тоже интересен этот момент. Неужели никто не разобрался?
*

Arkantos

  • Захожу иногда
  • 216
  • 17 / 0
  • Всё о создании сайтов: http://site-on.net
В файле \components\com_virtuemart\views\productdetails\tmpl\default_addtocart.php
меняем этот код:
Код
<span class="quantity-box">
<input type="text" class="quantity-input js-recalculate" name="quantity[]" value="<?php if (isset($this->product->min_order_level) && (int)$this->product->min_order_level > 0) {
echo $this->product->min_order_level;
} else {
echo '1';
} ?>"/>
    </span>
<span class="quantity-controls js-recalculate">
<input type="button" class="quantity-controls quantity-plus"/>
<input type="button" class="quantity-controls quantity-minus"/>
    </span>
на эту строку:
Код
<input type="hidden" class="quantity-input js-recalculate" name="quantity[]" value="1"/>
Всё готово, ещё и от лишнего кода избавились :)
*

Vezan

  • Осваиваюсь на форуме
  • 25
  • 1 / 0
Спасибо! Проблема решена!
*

Arkantos

  • Захожу иногда
  • 216
  • 17 / 0
  • Всё о создании сайтов: http://site-on.net
*

Alex_Mayak

  • Осваиваюсь на форуме
  • 10
  • 2 / 0
Здравствуйте недавно начал изучать VirtueMart.
наткнулся на вашу проблему!
правильней было бы сделать checkbox в админке virtuemart-а.
1) заходим в components\virtuemart\productdetails\default_addcart.php меняем
это
Код
       <span class="quantity-box">
<input type="text" class="quantity-input js-recalculate" name="quantity[]" onblur="check(this);" value="<?php if (isset($this->product->step_order_level) && (int)$this->product->step_order_level > 0) {
echo $this->product->step_order_level;
} else if(!empty($this->product->min_order_level)){
echo $this->product->min_order_level;
}else {
echo '1';
} ?>"/>
    </span>
<span class="quantity-controls js-recalculate">
<input type="button" class="quantity-controls quantity-plus"/>
<input type="button" class="quantity-controls quantity-minus"/>
    </span>
на это
Код
<?php //ИЗМЕНЕННЫЙ КОД СПЕЦИАЛЬНО ПОПРОБОВАТЬ
                if(VmConfig::get('show_number_product',false)){
                    echo VmConfig::get('show_number_product',false);
                    ?>


                <span class="quantity-box">
<input type="text" class="quantity-input js-recalculate" name="quantity[]" onblur="check(this);" value="<?php if (isset($this->product->step_order_level) && (int)$this->product->step_order_level > 0) {
echo $this->product->step_order_level;
} else if(!empty($this->product->min_order_level)){
echo $this->product->min_order_level;
}else {
echo '1';
} ?>"/>
    </span>
<span class="quantity-controls js-recalculate">
<input type="button" class="quantity-controls quantity-plus"/>
<input type="button" class="quantity-controls quantity-minus"/>
    </span>
<?php }else{ ?>
        <input type="hidden" class="quantity-input js-recalculate" name="quantity[]" value="1"/>
<?php } ?>
так мы сделали что бы была проверка на наличие разрешения отображать количество товара при заказе
далее идем в administrator\components\virtuemart\views\config\tmpl\default_chekout.php
и после
Код
<fieldset>
<legend><?php echo JText::_('COM_VIRTUEMART_ADMIN_CFG_CHECKOUT_SETTINGS'); ?></legend>
<table class="admintable">
вставляем следующее
Код
        <tr>
            <td class="key">
            <span class="hasTip" title="<?php echo JText::_('COM_VIRTUEMART_ADMIN_CFG_SHOW_NUMBER_PRODUCT_EXPLAIN'); ?>">
<label for="show_number_product">
                        <?php echo JText::_('COM_VIRTUEMART_ADMIN_CFG_SHOW_NUMBER_PRODUCT'); ?>
                    </label>
</span>
            </td>
            <td>
                <?php echo VmHTML::checkbox('show_number_product', VmConfig::get('show_number_product',1)); ?>
            </td>
        </tr>
здесь мы добавили в админку virtuemart-а строку с чекбоксом
следом направляемся в \administrator\components\com_virtuemart\virtuemart.cfg
ищем
Код
##Check stock
    addtocart_popup=1
и вставим
Код
##Check stock
    show_number_product=1
    addtocart_popup=1
создали "переменную окружения"
после чего нам нужно отправиться в administrator\language\ru-RU\ru-RU.com_virtuemart_config.ini
и добавить следующие строки
Код
COM_VIRTUEMART_ADMIN_CFG_SHOW_NUMBER_PRODUCT="Показывать количество продуктов при оформлении заказа"
COM_VIRTUEMART_ADMIN_CFG_SHOW_NUMBER_PRODUCT_EXPLAIN="Показывать интерфейс изменения количества товаров при заказе"
последний шаг нужен для мультиязычности если у вас таковой нету то можно не заморачиваться на шаге когда в админке делаем строку настройки и проста написать там на русском
вот так будет выглядеть
Код
<legend><?php echo 'COM_VIRTUEMART_ADMIN_CFG_CHECKOUT_SETTINGS'; ?></legend>
<table class="admintable">
        <tr>
            <td class="key">
            <span class="hasTip" title="<?php echo 'COM_VIRTUEMART_ADMIN_CFG_SHOW_NUMBER_PRODUCT_EXPLAIN' ?>">
<label for="show_number_product">
                        <?php echo 'COM_VIRTUEMART_ADMIN_CFG_SHOW_NUMBER_PRODUCT'; ?>
                    </label>
</span>
            </td>
            <td>
                <?php echo VmHTML::checkbox('show_number_product', VmConfig::get('show_number_product',1)); ?>
            </td>
        </tr>
надеюсь кто то прочтет и заценит ХД
*

Arkantos

  • Захожу иногда
  • 216
  • 17 / 0
  • Всё о создании сайтов: http://site-on.net
Интересен тот факт, что Вы ради этого поста зарегестрировались на форуме :)

За пост спасибо. А в каком именно месте в настройках VirtueMart появится checkbox? Интересно на скрин посмотреть.
*

Alex_Mayak

  • Осваиваюсь на форуме
  • 10
  • 2 / 0

ну надо с чего то начинать=)
наверно чуть не туда вставил настройку?!
да уже неделю лазию по форуму решил начать общаться практический все можно найти тут по virtuemart=)
« Последнее редактирование: 17.07.2013, 00:13:35 от Alex_Mayak »
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
наверно чуть не туда вставил настройку?!
Алекс, а как происходит сохранение этого параметра в БД, не надо добавлять поле в какую-нибудь таблицу, править SQL? Видимо нет. Кибернетика :)
*

Alex_Mayak

  • Осваиваюсь на форуме
  • 10
  • 2 / 0
поправьте меня если я не прав=)
но вроде сохраняются в файле \administrator\components\com_virtuemart\virtuemart.cfg (конфигурацеоном) в котором поле добавляли 'show_number_product=1'
проста я пробовал менять переменную и заглядывал в файл в нем и менялась переменная=)
происходит все без полей в таблице (в данном случае)
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
« Последнее редактирование: 25.02.2014, 08:20:39 от Stasweb »
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Пробую так
в orders.php

пишу

Код
					
<?php
echo $order->dataj;
?>

в таблицы
_virtuemart_userinfos
стоит

не выводит не чего пустые поля
Создаю таблицу в
_virtuemart_orders

выводит  0000-00-00
переменная dataj это
Поля, заполняемые пользователями/Ориентировочная дата, время готовности эскиза/заказа (ДД.ММ.ГГ-ЧЧ.ММ)
подскажите как вывести
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как убрать в производителях (модуль manufacturer) категории сверху

Автор sm_ph

Ответов: 7
Просмотров: 6076
Последний ответ 21.07.2025, 11:41:02
от Елeна
Эффект добавления товара в корзину VM3

Автор bassez

Ответов: 0
Просмотров: 2871
Последний ответ 05.06.2020, 12:28:26
от bassez
Как убрать показ дополнительного изображения в категории товаров?

Автор ElenaNova

Ответов: 0
Просмотров: 2901
Последний ответ 22.04.2020, 13:13:27
от ElenaNova
Вывод краткого описания товара в корзине

Автор PavelK

Ответов: 2
Просмотров: 3189
Последний ответ 04.04.2020, 16:34:10
от PavelK
Редактирование карточки товара VirtueMart

Автор muserun

Ответов: 2
Просмотров: 5125
Последний ответ 31.10.2019, 12:53:51
от Sandruk1