Новости Joomla

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

👩‍💻 Вместе мы развиваем Joomla: станьте Joomfluencer!

👩‍💻 Вместе мы развиваем Joomla: станьте Joomfluencer!

Вы уверенно чувствуете себя перед камерой, динамичны, обаятельны и всегда улыбаетесь? Чувствуете себя искателем приключений, готовым поделиться своими исследованиями CMS Joomla!, взять интервью у видных деятелей сообщества, пообщаться лично или по видеосвязи с волонтерами Joomla или отправиться на поиски новых идей?

Joomla ищет одного или нескольких волонтеров, готовых вдохнуть новую жизнь в обсуждение Joomla, ее CMS, пользователей, сообщества и многого другого.

Возможны самые разные форматы и темы: шортсы, интервью, аналитика и разборы в режиме реального времени, быстрые советы и рекомендации, знакомство с миром Joomla, изучение открытого исходного кода... Нет никаких ограничений!

Joomla! уже активно представлена ​​во многих социальных сетях:
- 155K подписчиков на Facebook,
- 55K подписчиков на X (ранее Twitter),
- 16K подписчиков на YouTube,
- 14K подписчиков на LinkedIn,
- 5,7K подписчиков в Instagram
а так же другие площадки ждут вас. Аккаунты Threads и Bluesky относительно новые, но их популярность только растёт!

А если хватит энергии, можно рассмотреть и TikTok!

❓ Итак, вы готовы?
👉 Свяжитесь с отделом маркетинга по адресу: marketing@community.joomla.org

Подробности в статье в Joomla Community Magazine.

@joomlafeed

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

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
А вы смотрите на условие в самом чекауте

Код
        $statictext = JTable::getInstance("statictext","jshop");
        $rowstatictext = $statictext->loadData("order_finish_descr");
        $text = $rowstatictext->text;
        
...
        
        if (trim(strip_tags($text)) == ""){
            $view_name = "checkout";
            $view_config = array("template_path"=>JPATH_COMPONENT."/templates/".$jshopConfig->template."/".$view_name);
            $view = $this->getView($view_name, getDocumentType(), '', $view_config);
            $view->setLayout("finish");
            $view->display();
        }else{
            print $text;
        }

Получается что шаблон finish вызывается только когда statictext не заполнен.

Если же в настройках магазина заполнили statictext - шаблон finish вообще не задействуется.

ЗЫ: разработчикам - вывод напрямую из контроллера минуя view и шаблон!
« Последнее редактирование: 03.10.2012, 13:45:09 от SDKiller »
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
хмм...  :)
ну да я тестил на дефолтном.. с пустым... :)
родное спасибо за заказ :)
дальше не лезли :)

Ну тогда 18 евро или ждать плагина от СДКиллера ;)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Вообще это косяк поскольку такой подход неоправдан.

Кто мешает в контроллере сделать assign того же $text во view и выводить по человечески?

Соответственно в шаблоне бы по условию выводилось - если text пустой - то спасибо за заказ, иначе - статиктекст

Зачем делать print из контроллера?
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Для ТС - быстрый хак контроллера (вернее исправление)

В фукнции finish() контроллера checkout заменяем

Код
        if (trim(strip_tags($text)) == ""){
            $view_name = "checkout";
            $view_config = array("template_path"=>JPATH_COMPONENT."/templates/".$jshopConfig->template."/".$view_name);
            $view = $this->getView($view_name, getDocumentType(), '', $view_config);
            $view->setLayout("finish");
            $view->display();
        }else{
            print $text;
        }

на

Код
        if (trim(strip_tags($text)) == ""){   
            $text = '';
        }

        $view_name = "checkout";
        $view_config = array("template_path"=>JPATH_COMPONENT."/templates/".$jshopConfig->template."/".$view_name);
        $view = $this->getView($view_name, getDocumentType(), '', $view_config);
        $view->setLayout("finish");

        $view->assign('text', $text);

        $view->display();

в шаблоне finish меняем

Код
<p><?php print _JSHOP_THANK_YOU_ORDER?></p>

на

Код
<?php
if (!empty($this->text)) {
    echo $this->text;
} else {
?>
<p><?php print _JSHOP_THANK_YOU_ORDER?></p>
<?php
}
?>

Ну и выводите решение от dmitry_stas где вам нужно - при таком раскладе должно сработать.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Ну можно на доработку предложить..
хотя думаю после платного аддона шаровой доработки не будет :)

У МАКСов видать тоже глаза не кругом успевают смотреть...
Оптимизация тяжелее написания иногда :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

turbolamer

  • Захожу иногда
  • 249
  • 12 / 0
Опять пришел SDKiller и все разрулил)))
Большое спасибо SDKiller, dmitry_stas и nevigen! Благодаря Вам вопрос решился.

Кстати, если кто то не понял для чего это делалось. Теперь можно подключить магазин к любому партнерскому сервису, с оплатой за заказы или %. Просто ставим туда же код отслеживания и сообщаем ему номер и сумму заказа, которые мы вытащили на последнюю страницу заказа.

*

dmitry_stas

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

linykc

  • Осваиваюсь на форуме
  • 30
  • 13 / 0
Доброго всем времени суток,
развивая тему, как вытащить еще и содержимое заказа?

вот такое не работает...
Код
<?php print $order->product_name; ?> <br />
    <?php print $order->product_ean; ?><br />
    <?php print $order->product_quantity; ?><br />
    <?php print $order->product_item_price; ?><br />
   
    <?php  print formatprice($order->product_quantity * $order->product_item_price); ?><br />

объясните нубу, где вообще найти название  переменной? ("product_name" этоу часть)

зарание спасибо
*

moolkin

  • Захожу иногда
  • 65
  • 15 / 0
разработчики молодцы - добавили всё это в базовый функционал.
Цитировать
объясните нубу, где вообще найти название  переменной? ("product_name" этоу часть)

попробуй вывести сначала вот так:
Код
print_r($order);

Увидишь все возможные переменные.. дальше разберёшься

делаю и помогаю делать сайты на джумле.
кому интересно - стучитесь в мой профиль на фри-лансе
https://www.free-lance.ru/users/Moolkin/
или в аську/скайп
*

rafaello9

  • Захожу иногда
  • 152
  • 2 / 0
Друзья!
В продолжение этой темы, загвоздка вышла маленькая, help!

В общем, понадобилось мне на странице "выбора способа оплаты"(надеюсь понятно написал) вытащить переменную, отвечающую за валюту, а именно вот эту
Код
$order->currency_code
Это нужно для того, чтобы убрать из списка "способов оплаты" тот способ, который не содержит эту валюту в рамках этой сессии. На простом языке, если в данный момент выбрана национальная валюта "сум", то инпуты-радио, работающие на рубли или доллары не появляются в списке для выбора способа оплаты.

Как было указан выше способ, я его применил, т.е.

Код
$session = JFactory::getSession();
$order_id = $session->get('jshop_end_order_id');
$order = JTable::getInstance('order', 'jshop');
$order->load($order_id);

Загвоздка в том, что
Код
$order
появилась, но как массив с пустыми значениями.
Код
print_r($order);
например выводит следующее
Код
Array ( ) [order_id] => [order_number] => [user_id] => [order_total] => [order_subtotal] => [order_tax] => [order_tax_ext] => [order_shipping] => [order_payment] => [order_discount] => [shipping_tax] => [payment_tax] => [currency_code] => [currency_code_iso] => [currency_exchange] => [order_status] => [order_created] => [order_date] => [order_m_date] => [shipping_method_id] => [delivery_times_id] => [payment_method_id] 
весь код целиком писать нет смысла, и так видно, что значения не выводятся.
Подмогните советом, как вытащить значение
Код
$order->currency_code
?
*

dmitry_stas

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

rafaello9

  • Захожу иногда
  • 152
  • 2 / 0
Цитировать
либо манипулируете ей до сохранения заказа
ну это как бы и есть условие, что вытащить эту переменную именно на этой странице, я же писал, для чего это надо.
Цитировать
неверно инициализируете переменную $order,
ну поэтому я и обращаюсь за советом, господа!

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

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну так и глянули бы тогда, что именно записывается в $order->currency_code при сохранении заказа  ;)

посмотрите содержимое JSFactory::getConfig()

уверен, найдете много интересного
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

rafaello9

  • Захожу иногда
  • 152
  • 2 / 0
Упс, тут немного отлучился.

Да, действительно, очень много интересного я нашел
Цитировать
посмотрите содержимое JSFactory::getConfig()
но, черт возьми, то что мне надо не обнаружил. :(

Попробую еще раз попросить о помощи и объясню ситуацию.
На этой странице
\components\com_jshopping\templates\default\checkout\payments.php
списком выводится активные виды оплаты. Выводится через цикл foreach. Что бы отсечь ненужные способы из этого списка, надо добавить условие if в этот цикл. Для условия if необходимо значение $order->currency_code

Так вот, не получается вытащить именно на этой странице $order->currency_code

Вот этот способ не помогает

Код
$session = JFactory::getSession();
$order_id = $session->get('jshop_end_order_id');
$order = JTable::getInstance('order', 'jshop');
$order->load($order_id);

этот способ выводит массив с пустыми значениями

Этот тоже

Код
JSFactory::getConfig()

а этот выводит все что хочешь, но типа валюты там нет, просмотрел по нескольку раз.

Как же все-таки мне заполучить  
Код
$order->currency_code
именно на этой странице, а не при сохранении заказа  Help!! :dry:
« Последнее редактирование: 09.02.2013, 15:32:32 от rafaello9 »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Цитировать
а этот выводит все что хочешь, но типа валюты там нет, просмотрел по нескольку раз.

а JSFactory::getConfig()->currency_code - это что?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

turbolamer

  • Захожу иногда
  • 249
  • 12 / 0
Мне кажется, Вы не туда копаете.

Думаю стоит посмотреть откуда берется валюта на странице просмотра корзины
/shop/cart/view

хотя у себя я ничего такого не нашел.

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

А вы пытаетесь вытащить переменную, которая пишется в базу после подтверждения заказа, то есть ее скорее всего вообще не существует на этом этапе


Но это так, предположения, могу ошибаться
*

rafaello9

  • Захожу иногда
  • 152
  • 2 / 0
Цитировать
а JSFactory::getConfig()->currency_code - это что?
Браво, браво!
 :D yes! :D
Говорят же что на носу очки не видно.
dmitry_stas , запишите, за мной магарыч!!
Спасибо!
*

Brooksus

  • Давно я тут
  • 641
  • 169 / 0
  • Ща спою...
В принципе можно вытащить весь заказ на эту страницу, для этого можно использовать плагин "Guest user registration" и немного изменить файл finish.php
Код
<?php 
$session = JFactory::getSession();
$order_id = $session->get('jshop_end_order_id');
$order = JTable::getInstance('order', 'jshop');
$order->load($order_id);
 
<div>
<iframe class="wrapper" frameborder="0" style="width:700px; height:700px" src="<?php print SEFLink('index.php?option=com_jshopping&controller=user&task=order&order_id='.$order_id.'&tmpl=component',0,0,$jshopConfig->use_ssl)?>">
</iframe>
</div>

<p><?php print _JSHOP_THANK_YOU_ORDER?></p>
Как видно из кода информация о заказе выводится в iframe со страницы управления заказами авторизированного пользователя.
Посмотреть пример можно, как всегда на сайте http://pvi.spb-ies.ru/ Выбирайте заказ без регистрации. Оформление заказа происходит в два клика.
Остается только решить вопрос  с попыткой повторной покупки без регистрации с тем же e-mail, но это уже отдельная тема к плагину.., мне кажется я где то такую темку уже видел.., вот она http://joomlaforum.ru/index.php/topic,256405.0.html
« Последнее редактирование: 06.03.2013, 01:34:22 от Brooksus »
Или + или YM41001160794290, или WMR R189734255107, а лучше все сразу и много.
*

Vitos

  • Захожу иногда
  • 161
  • 6 / 0
У меня подобный вопрос, отдельную тему решил не создавать.
Не могу вытащить текст из дополнительного поля ('ext_field_1') на странице "Адрес" и вывести на странице "Подтвердить заказ".
Подскажите кто знает, буду оч благодарен.
*

dmitry_stas

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

Vitos

  • Захожу иногда
  • 161
  • 6 / 0
а как вытаскиваете?
Извините, не могу сейчас скинуть код, нахожусь на работе. Но перепробовал много вариантов :)
Смотрел как выводится на других страничках, и в админке. Даже с помощью javascript пробовал (знаю что крайность). К моему стыду - не получилось.
*

Vitos

  • Захожу иногда
  • 161
  • 6 / 0
Итак, если смотреть в файл previewfinish.php, то первое что приходит в голову - это:
Код
<?php print $this->invoice_info['ext_field_1'] ?>
<?php print $this->delivery_info['ext_field_1'] ?>
Но ничего не происходит, хотя  <?php print $this->delivery_info['f_name'] ?> работает.
*

dmitry_stas

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

Vitos

  • Захожу иногда
  • 161
  • 6 / 0
Страница "Подтвердить заказ" - или я что-то не понимаю?
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Vitos

  • Захожу иногда
  • 161
  • 6 / 0
Всем спасибо, разобрался.
Нужно было в файл
\components\com_jshopping\controllers\checkout.php
добавить (примерно 740 строка):
Код
$invoice_info['ext_field_1'] = $adv_user->ext_field_1;
теперь в previewfinish.php пишем куда нужно
Код
<?php print $this->invoice_info['ext_field_1'] ?>
и все работает. Печалит только, что это хак, хотелось бы обновляться нормально.
*

Bartlebi

  • Захожу иногда
  • 75
  • 1 / 0
Эм.. Куда-то мое сообщение потерлось.
Повторю.
Как вытаскивать данные о заказе, а именно наименование (или ИД) каждой позиции внутри заказа, а также их количество и цену за единицу?
Вывел список из print_r($order);
Но там нет нужных вещей..
« Последнее редактирование: 01.05.2014, 15:59:48 от Bartlebi »
*

dmitry_stas

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

Bartlebi

  • Захожу иногда
  • 75
  • 1 / 0
Спасибо, будем пробовать.
*

Bartlebi

  • Захожу иногда
  • 75
  • 1 / 0
Все прекрасно работает, но есть одно но. Если товаров в заказе более 1, то в скрипт передается только один параметр, что, вобщем-то, ожидаемо. Вопрос как правильно передать массив из php в js?
Не кидайте ссылками на json_encode и прочие вещи, сам не осилю. Если у кого есть желание помочь, то милости прошу.
Подставить значения необходимо в сюда:
Код
var yaParams = {
  order_id: "12345",
  order_price: "123.00",
  currency: "RUR",
  exchange_rate: 1,
  goods:
                 [
                                {
                                  id: "123",
                                  name: "product1",
                                  price: "100.00",
                                  quantity: "20"
                                },  
                  ]
};
</script>
« Последнее редактирование: 01.05.2014, 17:58:26 от Bartlebi »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вставить на главную страницу заголовок и описание?

Автор art22

Ответов: 1
Просмотров: 2357
Последний ответ 20.06.2023, 16:17:41
от kit2m2
Плагин - Товар на складе или Товар под заказ для JoomShopping [Скачать]

Автор kit2m2

Ответов: 58
Просмотров: 12784
Последний ответ 18.05.2023, 12:59:00
от Akeksandr
[Решено] - Заказ на одной странице

Автор shurakana

Ответов: 58
Просмотров: 20110
Последний ответ 16.03.2023, 09:53:16
от kit2m2
MSI Юзабилити "Списка заказов" Красим заказ в цвет его статуса

Автор Cerber

Ответов: 22
Просмотров: 11792
Последний ответ 16.12.2021, 13:31:33
от Mister Shadow
Поиск заказа по номеру телефона клиента

Автор Shiffer

Ответов: 19
Просмотров: 3466
Последний ответ 07.12.2021, 19:43:38
от anatol81n