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

sickness882

  • Осваиваюсь на форуме
  • 32
  • 1 / 0
Помоги со следующим:

Нужно: https://apf.mail.ru/cgi-bin/readmsg/Screenshot_6.png?id=14388577720000000735%3B0%3B1&x-email=syrovatsky.anton%40mail.ru&exif=1&bs=3041&bl=252872&ct=image%2Fpng&cn=Screenshot_6.png&cte=binary

Уже запарился, никак не могу найти нужный код.

Добавил две цены с перечеркиванием.


Нужен убрать "Текущий уровень запасов"
и добавить строчку "Артикул" выше цены.
« Последнее редактирование: 06.08.2015, 15:58:55 от sickness882 »
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Скинь нормальный скрин.. что бы не логиниться....
Ссылка есть на сайт?
*

sickness882

  • Осваиваюсь на форуме
  • 32
  • 1 / 0
Скинь нормальный скрин.. что бы не логиниться....
Ссылка есть на сайт?


http://www.synthesia-guild.ru/sheepskin/zhenskie-dublyonki-bolshogo-razmera
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Нужен убрать "Текущий уровень запасов"

Это можно сделать из админки настройки VirtueMart - отображать уровень запаса товара.
Если не хош искать можно просто прописать в CSS шаблона такое
Код
.stockLavel {display: none}

Цитировать
добавить строчку "Артикул" выше цены.
Ищем файл по пути
ШАБЛОН/html/com_virtuemart/sublayouts/products.php
Если такого нет ищем здесь...
components/com_virtuemart/sublayouts/products.php - и копируем его по пути который ВЫШЕ!

в этом файле ищем что то подобное на
Код
echo shopFunctionsF::renderVmSubLayout('prices'......

Ну и Выше этого кода ставим SQU
Код
echo $product->product_sku

Можно в div обвернуть.. то уже сам ... ))
Плюсануть не забудь ... __
Удачи

*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Микроразметки в шаблоне в обе нет это плохо ....  :(
*

sickness882

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

Ищем файл по пути
ШАБЛОН/html/com_virtuemart/sublayouts/products.php
Если такого нет ищем здесь...
components/com_virtuemart/sublayouts/products.php - и копируем его по пути который ВЫШЕ!

в этом файле ищем что то подобное на
Код
echo shopFunctionsF::renderVmSubLayout('prices'......

Ну и Выше этого кода ставим SQU
Код
echo $product->product_sku

Таких файлов нету ни в одной из папок, которые ты указал

*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Версия какая Joomla и VirtueMart
Давай ftp
В Личку тока... )))
*

sickness882

  • Осваиваюсь на форуме
  • 32
  • 1 / 0
Версия какая Joomla и VirtueMart
Давай ftp
В Личку тока... )))


Joomla 2.5.6 vm - 2.6.0
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
А ну понятно ...
Ну тогда там и нее будет это так в тройке

По двойке так быстро не скажу...
ну поищи название файлов приблизительно одинаковы
У меня просто нет развернутой 2 что бы конкретно сказать где менять. А так и не помню.
.. Ну или ftp кинь мне до вечера гляну ..


*

sickness882

  • Осваиваюсь на форуме
  • 32
  • 1 / 0
А ну понятно ...
Ну тогда там и нее будет это так в тройке

По двойке так быстро не скажу...
ну поищи название файлов приблизительно одинаковы
У меня просто нет развернутой 2 что бы конкретно сказать где менять. А так и не помню.
.. Ну или ftp кинь мне до вечера гляну ..




Поискал через тотал "echo shopFunctionsF::renderVmSubLayout('prices'......"
Ничего не нашел.
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
А в тотале галочку не забыл поставить поиск в кодировке  UTF-8 ?
*

alexfom_16

  • Захожу иногда
  • 257
  • 24 / 0
Смотрите здесь:
/components/com_virtuemart/views/category/tmpl/default.php
Рекомендую хостинг Beget.ru
Качественная настройка и ведение Яндекс.Директ.
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Ну да правильно Вам подсказывают..
Только скопируйте этот файл перед тем как редактировать в папку
и там уже правьте...
ШАБЛОН/html/com_virtuemart/category/
А то вдруг что то слетит всегда будет целая копия..

*

sickness882

  • Осваиваюсь на форуме
  • 32
  • 1 / 0
Вот файл ничего понять не могу :)

https://yadi.sk/d/wOmvMlfQiKtYc
*

alexfom_16

  • Захожу иногда
  • 257
  • 24 / 0
Найдите такую строку:
<div class="product-price marginbottom12" id="productPrice<?php echo $product->virtuemart_product_id ?>">
и перед ней вставьте:
<div>
<?php echo JText::_('COM_VIRTUEMART_CART_SKU')?>: <?php echo $this->product->product_sku ?>
</div>
Рекомендую хостинг Beget.ru
Качественная настройка и ведение Яндекс.Директ.
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Цитировать
Найдите такую строку:
<div class="product-price marginbottom12" id="productPrice<?php echo $product->virtuemart_product_id ?>">

Ну это и есть 282 строка у него в файле...
*

alexfom_16

  • Захожу иногда
  • 257
  • 24 / 0
Ну это и есть 282 строка у него в файле...
Читайте внимательней
Рекомендую хостинг Beget.ru
Качественная настройка и ведение Яндекс.Директ.
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
А вот еще что вы же не в стандартном блокноте правите ??

 
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Цитировать
echo $this->product->product_sku
А так наверно не совсем правильно...
Так как там foreach перед этим всем...
Так может работать на странице товара но не в категории..
Правильно echo $product->product_sku;
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Это печально что Вы не че понять не можете....
перед 282 строкой ставьте так как я говорил
echo $product->product_sku

или можно так
<div class="mySqu"><?php echo $product->product_sku; ?></div>

там же в этом файле уровень запаса товара. но я так понимаю что уже  не важно....

В этом файле то ли качался с ошибкой ....

в о общем в строке 306 у Вас ошибка ...
Код
echo $this->currency->createPriceDiv('priceWithoutTax', '', ''); {  
После ; и перед { должен оператор идти if с какими то условиями но его там нет. Что вызовет ошибку... Проверьте в исходном файле...

   
*

alexfom_16

  • Захожу иногда
  • 257
  • 24 / 0
А так наверно не совсем правильно...
Так как там foreach перед этим всем...
Так может работать на странице товара но не в категории..
Правильно echo $product->product_sku;
Так тоже выводит:
$this->product->product_sku
Рекомендую хостинг Beget.ru
Качественная настройка и ведение Яндекс.Директ.
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Цитировать
Так тоже выводит:
$this->product->product_sku

Да конечно выводит... Только везде будет одинаковый от первого вводимого товара.
Хотя если честно не проверял
но там так
Код
foreach ($this->products as $product) {
.......
<a title="<?php echo $product->product_name ?>"  href="<?php echo $product->link; ?>">
      <?php echo $product->product_name ?>
</a>
.......
и как тут будет смотреться Ваш код ?
<div>
<?php echo JText::_('COM_VIRTUEMART_CART_SKU')?>: <?php echo $this->product->product_sku ?>
</div>
.........
}


*

alexfom_16

  • Захожу иногда
  • 257
  • 24 / 0
Согласен так правильней: echo $product->product_sku;
Проверил и так корректно выводит  $this->product->product_sku )))

Цитировать
и как тут будет смотреться Ваш код ?
<div>
<?php echo JText::_('COM_VIRTUEMART_CART_SKU')?>: <?php echo $this->product->product_sku ?>
</div>

 Артикул: XXXXX
Рекомендую хостинг Beget.ru
Качественная настройка и ведение Яндекс.Директ.
*

sickness882

  • Осваиваюсь на форуме
  • 32
  • 1 / 0
Поставил:

                                        <div>
                                        <?php echo JText::_('COM_VIRTUEMART_CART_SKU')?>: <?php echo $this->product->product_sku ?>
                                        </div>
               <div class="product-price marginbottom12" id="productPrice<?php echo $product->virtuemart_product_id ?>">

И все равно ничего нету:(

<div class="mySqu"><?php echo $product->product_sku; ?></div> 

так тоже ничего не выводит
« Последнее редактирование: 08.08.2015, 19:00:16 от sickness882 »
*

sickness882

  • Осваиваюсь на форуме
  • 32
  • 1 / 0
Поискал ответы на других ресурсах.

Вот мой кусок кода:

<?php // Product Short Description
               if (!empty($product->product_s_desc)) {
                  ?>
                  <p class="product_s_desc">
                     <?php echo shopFunctionsF::limitStringByWord ($product->product_s_desc, 40, '...')?>
                  </p>
                  <?php } ?>
               <div class="product-price marginbottom12" id="productPrice<?php echo $product->virtuemart_product_id ?>">
               <?php echo JText::_('COM_VIRTUEMART_PRODUCT_SKU')?> <span  style="font-weight: bold;"> <?=$this->product->product_sku?></span>
                  <?php
                  if ($this->show_prices == '1') {
                     if ($product->prices['salesPrice']<=0 and VmConfig::get ('askprice', 1) and  !$product->images[0]->file_is_downloadable) {
                        echo JText::_ ('COM_VIRTUEMART_PRODUCT_ASKPRICE');
                     }
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Проверь что содержится в переменной
Код
var_dump($product);
И обнови Joomla до 2.5.28, были исправлены уязвимости
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Цитировать
Проверь что содержится в переменной
Там объект содержатся судя по коду который автор темы присылал

Цитировать
Вот мой кусок кода:
 <?php echo JText::_('COM_VIRTUEMART_PRODUCT_SKU')?> <span  style="font-weight: bold;"> <?=$this->product->product_sku?></span>

Тут явно ошибка
1. А что даже не пишет не чего попробуйте так
Код
 <?php echo JText::_('Артикул')?>
2. Далее ошибка здесь
Код
<?=$this->product->product_sku?>
А должно быть так <?php echo $this->product->product_sku; ?>
или еще попробуйте так <?php echo $product->product_sku; ?>
Но если вы на увидите в товаре даже слово Артикул то дела печальны.
Скорее всего Вы просто правите не тот файл ...

и поставьте свой свой код выше этого так правильней  <div class="product-price marginbottom12
« Последнее редактирование: 08.08.2015, 19:47:58 от gartes »
*

sickness882

  • Осваиваюсь на форуме
  • 32
  • 1 / 0
Правлю в components/com_virtuemart/views/category/tmpl/default.php

<?php echo JText::_('Артикул')?>  - ничего не написал

Проверь что содержится в переменной
Код:
var_dump($product);


Не понял, где и что проверять:)
*

alexfom_16

  • Захожу иногда
  • 257
  • 24 / 0
Скорее всего файл уже переопределен и нужно править не в /components/com_virtuemart/views/category/tmpl/default.php
a в  /templates/Ваш_шаблон/html/com_virtuemart/category/default.php
Рекомендую хостинг Beget.ru
Качественная настройка и ведение Яндекс.Директ.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Проверь что содержится в переменной
Код:
var_dump($product);


Не понял, где и что проверять:)
Код
// Start the Output
foreach ( $this->products as $product ) {
var_dump($product->product_sku);
// Show the horizontal seperator
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отображение полей CF в карточке товара

Автор farmer66

Ответов: 2
Просмотров: 2807
Последний ответ 17.02.2023, 13:39:18
от farmer66
Как сделать разделение цены по 3 разряда? Решено

Автор varella

Ответов: 13
Просмотров: 3105
Последний ответ 28.10.2022, 19:32:37
от marksetter
Вывод изображений настраиваемого поля в карточке товара

Автор wasssup

Ответов: 0
Просмотров: 2858
Последний ответ 05.07.2022, 08:51:19
от wasssup
"Позвонить для запроса цены" не выводится

Автор Akeksandr

Ответов: 13
Просмотров: 3076
Последний ответ 10.01.2022, 16:54:33
от draff
Изменить шрифт копее у цены

Автор DrShepard

Ответов: 5
Просмотров: 2883
Последний ответ 27.08.2021, 11:12:11
от DrShepard