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

alexwweb

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Здравствуйте. Как в joomshoping вместо цены 0.00 грн. - вывести - "уточняйте цену у менеджера".

Что править для категории и что для карточки. Спасибо! 

Извините, если где-то подобная тема поднималась, не могу найти.
*

nevigen

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

alexwweb

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Спасибо, буду пробовать.
*

riss

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Помогите с условием, не силён в php, попытался не получилось. Как со списком надо так и со страницей товара.
*

alexwweb

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Я тоже не совсем понял, если честно.
*

nevigen

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

riss

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
если цена = 0 
цене назначить хайд и вывести надпись "Уточняйте у менеджера"
иначе остаивть как есть. 
Я правильно понял в этих строках:     <?php if ($this->product->_display_price){?>
    <div class="prod_price">
        <?php print _JSHOP_PRICE?>: <span id="block_price"><?php print formatprice($this->product->getPriceCalculate())?><?php print $this->product->_tmp_var_price_ext;?></span>
    </div>
    <?php }?>
*

nevigen

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

denben777

  • Захожу иногда
  • 157
  • 78 / 1
Нужно добавить условие для цены в списке товаров и для карточки товара.
Измененный код для списка товаров (http://ваш_сайт/components/com_jshopping/templates/ваш_шаблон/list_products/product.php):
Код
<?php if ($product->_display_price){?>        
     <div class = "jshop_price">
          <?php if ($product->product_price <=0){?>
               <span id="utochnite">Уточните у менеджера</span>
          <?php }else{?>
               <?php if ($this->config->product_list_show_price_description) print _JSHOP_PRICE.": ";?>
               <?php print formatprice($product->product_price);?>
          <?php }?>
     </div>
<?php }?>
*

riss

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
denben777, огромное спасибо!
*

denben777

  • Захожу иногда
  • 157
  • 78 / 1
riss пожалуйста!
Забыл уточнить, что вышеприведенный код взят с Joomla 2.5 + JS 3.11.2 Но смысл (если цена товара меньше или равна нулю, то ...), в принципе, один и тот же.
*

riss

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
j2.5.8+js3.11.2  Сам принцип условия if - else понятен.  А такой вопрос, можно и  так ==0 ?
*

denben777

  • Захожу иногда
  • 157
  • 78 / 1
riss
Попробуйте изменить и посмотреть. Вообще данный код можно написать и по другому.
*

dragon4x4

  • Захожу иногда
  • 196
  • 7 / 0
Нужно добавить условие для цены в списке товаров и для карточки товара.
Измененный код для списка товаров (http://ваш_сайт/components/com_jshopping/templates/ваш_шаблон/list_products/product.php):
Код
<?php if ($product->_display_price){?>        
     <div class = "jshop_price">
          <?php if ($product->product_price <=0){?>
               <span id="utochnite">Уточните у менеджера</span>
          <?php }else{?>
               <?php if ($this->config->product_list_show_price_description) print _JSHOP_PRICE.": ";?>
               <?php print formatprice($product->product_price);?>
          <?php }?>
     </div>
<?php }?>

А как с мултиязычностью ? пожалуйста подскажите где что добавить чтобы это на разных языках работало (<span id="utochnite">Уточните у менеджера</span>)... ?
*

denben777

  • Захожу иногда
  • 157
  • 78 / 1
dragon4x4
Вместо фразы Уточните у менеджера вставьте:
Код
<?php print _JSHOP_PRODUCT_SPECIFY_MANAGER;?>
Затем откройте файл ru-RU.php: ваш_сайт/components/com_jshopping/lang/
И вставьте с новой строки:
Код
define('_JSHOP_PRODUCT_SPECIFY_MANAGER', 'Уточните у менеджера');
Эту же самую фразу вставьте во все нужные вам языковые файлы в этой же папке (de-DE.php , en_GB.php и т.д. ) но, конечно же, вместо Уточните у менеджера должен быть перевод нужного вам языка.
*

dragon4x4

  • Захожу иногда
  • 196
  • 7 / 0
а где еще надо это вставить  id="utochnite" ?
*

denben777

  • Захожу иногда
  • 157
  • 78 / 1
а где еще надо это вставить  id="utochnite" ?
В смысле? Ответ#8 + ответ#14 (если на сайте несколько языков). При необходимости, добавьте CSS правила для span#utochnite {}
*

юрий 009

  • Захожу иногда
  • 341
  • 5 / 1
Нужно добавить условие для цены в списке товаров и для карточки товара.
Измененный код для списка товаров (http://ваш_сайт/components/com_jshopping/templates/ваш_шаблон/list_products/product.php):
Код
<?php if ($product->_display_price){?>        
     <div class = "jshop_price">
          <?php if ($product->product_price <=0){?>
               <span id="utochnite">Уточните у менеджера</span>
          <?php }else{?>
               <?php if ($this->config->product_list_show_price_description) print _JSHOP_PRICE.": ";?>
               <?php print formatprice($product->product_price);?>
          <?php }?>
     </div>
<?php }?>

если в настройках включено "Показать минимальную цену" в других товарах слово "от" исчезает
что нужно сделать чтобы оно осталось?
*

юрий 009

  • Захожу иногда
  • 341
  • 5 / 1
Цитировать
если в настройках включено "Показать минимальную цену" в других товарах слово "от" исчезает
что нужно сделать чтобы оно осталось?
Извините затупил
<?php if ($product->show_price_from) echo _JSHOP_FROM." ";?>
*

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
Уважаемые nevigen, подскажите, пожалуйста. Господин denben777 привел вариант решения со списком товаров, но карточку миновал.

Сейчас уже JoomShopping версии 4.11.1.

В com_jshopping/product/product_default.php вместо

 
Код
<?php if ($this->product->_display_price){?>
            <div class="prod_price jshop_price">
            <span class="jshop_price_text"><?php print _JSHOP_PRICE?>:</span> <span id="block_price"><?php print formatprice($this->product->getPriceCalculate())?><?php print $this->product->_tmp_var_price_ext;?></span>
            </div>
            <?php }?>

Состряпал по примеру вот такое:

Код
<?php if ($this->product->_display_price){?>
            <div class="prod_price jshop_price">
            <span class="jshop_price_text">
<?php print _JSHOP_PRICE?>:</span>
<span id="block_price">
<?php if ($this->product->getPriceCalculate() >0){?>
   <?php print formatprice($this->product->getPriceCalculate())?>
<?php print $this->product->_tmp_var_price_ext;?>
   <?php }else{?>
<?php if ($this->product->getPriceCalculate() <=0){?>
<span id="utochnite">
<?php print _UTOCHNITE_U_MENEDZHERA;?>
</span>
<?php }else{?>
</span>
<?php }?>
<?php }?>
            </div>
            <?php }?>

Вроде бы работает, но правильно ли это с технической точки зрения, т.е. соблюдены ли правила PHP? Или лучше где-то подправить?
Заранее спасибо!
*

nevigen

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

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
не только else, а и if :) и это еще не считая того, что <span id="block_price"> открыть открыли, а закрыть забыли
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
не только else, а и if :) и это еще не считая того, что <span id="block_price"> открыть открыли, а закрыть забыли
Благодарю за подсказку! Так вроде бы со span все верно должно быть, 3-ри открывающих и 3-ри закрывающих тега. Или закрывающий </span> не в том месте?
На счет else, как я понимаю лишний тот, что последний в коде? Убрал его, норм. работает как и работало.
Уважаемый dmitry_stas, подскажите, а что с if там неверно?
Просто я в этом не специалист, большей частью делал методом тыка по примеру другого кода, так что прошу прощения, если это и так очевидно :)
*

nevigen

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

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
а зачем что то делать ?
выше приведен код который работает.
зачем его менять ? вернее есть блок условий, вставьте внутрь то что надо вывести и все..
зачем громоздить сложные конструкции ?

Так, собственно, я и обратился за советом, чтобы не горомоздить сложные лишние конструкции, чтобы в будущем при использовании каких-либо расширений не возникало конфликтов и ненужных проблем :-)
Просто мне ответили, что есть лишние else и if, вот и хочется понять и довести начатое до конца...
*

dmitry_stas

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

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Код
<?php if ($product->_display_price){?>        
     <div class = "jshop_price">
          <?php if ($product->product_price <=0){?>
              -----> то что надо если цена меньше или равна 0
          <?php }else{?>
               -----> то что по умолчанию в ЖШ
          <?php }?>
     </div>
<?php }?>


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

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
Код
<?php if ($product->_display_price){?>        
     <div class = "jshop_price">
          <?php if ($product->product_price <=0){?>
              -----> то что надо если цена меньше или равна 0
          <?php }else{?>
               -----> то что по умолчанию в ЖШ
          <?php }?>
     </div>
<?php }?>
Премного благодарен!:-)
dmitry_stas, честно говоря, я сразу не понял как применить вышеуказанный код в карточке товара. Теперь же разобрался и точно также поделал для модулей :-)
Готовое решение для карточки товара, может кому пригодится:

Код
<?php if ($product->_display_price){?>        
  <div class="prod_price jshop_price">
     <span class="jshop_price_text">
  <?php print _JSHOP_PRICE?>:
</span>
       <?php if ($product->product_price <=0){?>
  <?php print _UTOCHNITE_U_MENEDZHERA_TOVAR;?>
   <?php }else{?>
      <?php print formatprice($this->product->getPriceCalculate())?>
    <?php }?>
   </div>
<?php }?>
« Последнее редактирование: 17.11.2015, 11:45:18 от Good_user »
*

dmitry_stas

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

Good_user

  • Захожу иногда
  • 149
  • 5 / 1
опять потеряно закрытие <span id="block_price">
А почему?

Ведь есть закрывающий тег:

Цитировать
<span id="block_price">
       <?php if ($product->product_price <=0){?>
       <?php print _UTOCHNITE_U_MENEDZHERA_TOVAR;?>
</span>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывести артикул вместо кода товара в письмо клиента

Автор antony2606

Ответов: 2
Просмотров: 2914
Последний ответ 09.02.2021, 17:01:25
от antony2606
Вывести данные базовой цены

Автор intcorp

Ответов: 3
Просмотров: 985
Последний ответ 22.11.2018, 17:58:53
от lexxbry
Изменить иконку если у товара нет изображения, всплывающее изображение товара

Автор Kitokedoki

Ответов: 5
Просмотров: 2525
Последний ответ 01.04.2018, 11:11:05
от Biss
Вставить пробел в цену товара

Автор Mick_20

Ответов: 2
Просмотров: 1033
Последний ответ 22.02.2018, 09:37:31
от Mick_20
Скрыть старую цену?

Автор chip_n

Ответов: 8
Просмотров: 3082
Последний ответ 28.11.2017, 13:29:19
от dmitry_stas