Новости 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

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

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

gurkin

  • Осваиваюсь на форуме
  • 26
  • 4 / 0
стало лень писать  meta description в каждом товаре, а отметиться в поисковаках с этим товаром очень было бы правильно,
поэтому поправил файл
/components/com_jshopping/controllers/product.php


заменил строку
Код
setMetaData($product->meta_title, $product->meta_keyword, $product->meta_description);


на это
Код
        if ($product->meta_description =="") {
        $new_descr = $product->name.",".strip_tags($product->description);
        $new_descr =  substr($new_descr , 0, 151);
        setMetaData($product->meta_title, $product->meta_keyword, $new_descr );
        } else {
        setMetaData($product->meta_title, $product->meta_keyword, $product->meta_description);
        }

точнее, после $product->name еще добавил город, потому как иская товар в Google всегда добавляю город - если хочу купить, а не характеристики посмотреть....

...и теперь все товары в базе, которым руки не дошли прописать иникальный дескрипшн получили его автоматом.
(пусть и обрезанный до 151 символа)

ЗЫ сорри, если кто-кто уже выкладывал подобное решение
*

graf

  • Захожу иногда
  • 195
  • 0 / 0
а с keywords как реализовать?
*

den2904

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
как это работает? какие слова он выхватывает из описания? любые или первые 151 символов? опишите подробнее что значит "генерация на лету"?
*

Vladimir_Strelyaev

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Ребят, помогите.  Нужно вывести в титле хлебные крошки, по аналогии с meta description, например название категории -1уров. / название категории 2уров. /название товара? Всю голову сломал.  !
« Последнее редактирование: 31.01.2015, 04:11:11 от Vladimir_Strelyaev »
*

Vladimir_Strelyaev

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
а с keywords как реализовать?
Код: php
if ($product->meta_keyword ==""){
        $new_keyw =$category->name." ".$product->name;
        $new_keyw =str_replace('"' , "", $new_keyw);
setMetaData($product->meta_title, $new_keyw, $new_descr );}
У меня так, но при заполненном description keyword не выводит, почему-то
*

Vitos

  • Захожу иногда
  • 161
  • 6 / 0
Хорошо придумано. Только я бы сделал все тоже на уровне шаблона. Потому, что так может слететь после обновления.
*

Bozhkov2

  • Захожу иногда
  • 427
  • 12 / 0
Здравствуйте. Нужно добавить цену товара к meta description через шаблон товара. Есть ли уже решение? Или может кто подскажет?
*

ProtectYourSite

  • Живу я здесь
  • 2368
  • 139 / 4
  • Безопасность вебсайтов
Код
$doc = JFactory::getDocument();
$descr = getDescription(). formatprice($this->product->getPriceCalculate());
$doc->setDescription($descr);
Типо такого
*

Bozhkov2

  • Захожу иногда
  • 427
  • 12 / 0
За намек спасибо, но по факту оно совсем не так.
Вот что я смог "наваять"
Код
<?php
$doc = JFactory::getDocument();
$descr = $doc->getMetadata('description');
$price_descr = $descr.' Цена '. round(getPriceFromCurrency($this->product->min_price, $this->product->currency_id), 2).' грн.';
$doc->setMetadata('description', $price_descr);
?>
Но нормально я так и не сделал. Цена через точку, валюта не выводится, языковая переменная _JSHOP_PRICE тоже. :(
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Код
$price_descr = $descr . ' ' . _JSHOP_PRICE . ' ' . formatprice(getPriceFromCurrency($this->product->min_price, $this->product->currency_id));
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Bozhkov2

  • Захожу иногда
  • 427
  • 12 / 0
$price_descr = $descr . ' ' . _JSHOP_PRICE . ' ' . formatprice(getPriceFromCurrency($this->product->min_price, $this->product->currency_id));
Уже лучше. :) "Цена" появилось.
Но в целом это дает вот такой результат:
Цитировать
Цeна 787.79 &lt;span class=&quot;currencycode&quot;&gt;грн&lt;/span&gt;
*

Bozhkov2

  • Захожу иногда
  • 427
  • 12 / 0
Может это только у меня валюта заключена в span, и из-за этого такие косяки?
p.s. strip_tags не работает
« Последнее редактирование: 23.10.2018, 08:43:27 от Bozhkov2 »
*

dmitry_stas

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

Bozhkov2

  • Захожу иногда
  • 427
  • 12 / 0
как именно не работает?
А, ну да, я не туда его добавлял, всё работает.
Итог: 
Код
<?php
$doc = JFactory::getDocument();
$descr = $doc->getMetadata('description');
$price_descr =  $descr . ' ' . _JSHOP_PRICE . ' ' . strip_tags(formatprice(getPriceFromCurrency($this->product->min_price, $this->product->currency_id)));
$doc->setMetadata('description', $price_descr);
?>
*

Bozhkov2

  • Захожу иногда
  • 427
  • 12 / 0
dmitry_stas, Спасибо! Я не перестаю вами восхищаться ;)
*

dmitry_stas

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

zhuk1903

  • Новичок
  • 7
  • 0 / 0
Здравствуйте, тоже решил вывести цены в description, но показывает 0 рублей, не могли бы помочь в чем причина
*

nevigen

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

zhuk1903

  • Новичок
  • 7
  • 0 / 0
Атрибутов в товаре нет
*

nevigen

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

zhuk1903

  • Новичок
  • 7
  • 0 / 0
Цены в товаре прописал везде где можно  (старая, новая цена итп), но в в description 0 руб
*

zhuk1903

  • Новичок
  • 7
  • 0 / 0
        appendPathWay($product->name);
        if ($product->meta_title=="") $product->meta_title = $product->name;
       
$doc = JFactory::getDocument();
$descr = $doc->getMetadata('description');
$price_descr = $descr . ' ' . _JSHOP_PRICE . ' ' . formatprice(getPriceFromCurrency($this->product->min_price, $this->product->currency_id));
$doc->setMetadata('description', $price_descr);

        $product->hit();
       
        $product->product_basic_price_unit_qty = 1;
        if ($jshopConfig->admin_show_product_basic_price){
            $product->getBasicPriceInfo();
        }else{
            $product->product_basic_price_show = 0;
        }
       
        $view_name = "product";
        $view_config = array("template_path"=>$jshopConfig->template_path.$jshopConfig->template."/".$view_name);
        $view = $this->getView($view_name, getDocumentType(), '', $view_config);
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
print_r($this->product)
что внутри и какие значения.

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

zhuk1903

  • Новичок
  • 7
  • 0 / 0
БОЛЬШОЕ СПАСИБО ЧТО ПОМОГЛИ!  ^-^
*

threemonkeys

  • Захожу иногда
  • 171
  • 1 / 0
А, ну да, я не туда его добавлял, всё работает.
Итог: 
Код
<?php
$doc = JFactory::getDocument();
$descr = $doc->getMetadata('description');
$price_descr =  $descr . ' ' . _JSHOP_PRICE . ' ' . strip_tags(formatprice(getPriceFromCurrency($this->product->min_price, $this->product->currency_id)));
$doc->setMetadata('description', $price_descr);
?>

Уточните пожалуйста, в каком файле и в какое место надо вставить код? Интересует подобное решение
Спасибо
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
зачем цена в description?  :laugh:
какой в этом смысл?
есть ведь несколько вариантов, или вы считаете что клиент цену в поиск вбивает?
https://developers.google.com/search/docs/data-types/product
*

threemonkeys

  • Захожу иногда
  • 171
  • 1 / 0
зачем цена в description?  :laugh:
какой в этом смысл?
есть ведь несколько вариантов, или вы считаете что клиент цену в поиск вбивает?
https://developers.google.com/search/docs/data-types/product

Ну вообще я не считаю что она нужна там.
Но если при выдаче на запрос в описании будет фигурировать и цена, то человек которому на покажется приемлемой вероятно перейдет на ресурс. Это как по типу расширенного сниппета goolge
*

sbitven

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
для категорий в tables/category.php
для продуктов в tables/product.php

а для страниц типа "список товаров" где можно сформировать?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Автоматическое заполнение title, description, keywords

Автор bakyt

Ответов: 18
Просмотров: 5482
Последний ответ 28.08.2023, 17:08:54
от Robert810
Вывод краткого описания родительской категории

Автор Антончик

Ответов: 1
Просмотров: 3062
Последний ответ 11.08.2020, 13:57:39
от kit2m2
Вывод описания категории только на первой странице пагинации

Автор rmnk

Ответов: 10
Просмотров: 5022
Последний ответ 06.12.2018, 16:46:44
от effrit
Нужно реализовать возможность добавлять в Description символы Unicode версии 7.0

Автор Merliut

Ответов: 0
Просмотров: 972
Последний ответ 07.06.2018, 15:55:47
от Merliut
Микроразметка "Значение цены в карточке товара"

Автор herr

Ответов: 12
Просмотров: 3856
Последний ответ 04.05.2017, 20:18:45
от herr