Новости Joomla

Вышел JoomShoppping 5.7.0Один из популярных компонентов интернет-магазина на Joomla

Вышел JoomShoppping 5.7.0Один из популярных компонентов интернет-магазина на Joomla.30 апреля вышел релиз 5.6.2, а 15 мая его догнал релиз 5.7.0. В целом можно отметить, что команда разработки взяла курс на развитие собственного установщика расширений для JoomShopping, а так же на удобство администрирования магазина в панели администратора.👩‍💻 v.5.7.0. Что нового?- Добавлено управление платными расширениями (установка / обновление / получение ключа).- Возможность изменять позиции для аддонов. Других подробностей нет, но возможно это означает что для вывода данных аддонов стало возможно переключать позиции вывода в шаблоне JoomShopping вида _tmp_var_bottom_price и т.д.- Улучшена форма создания клиента для администратора – введенные данные сохраняются после ошибки проверки.- Новый параметр конфигурации admin_products_search_by_prod_id_range (поиск по диапазону идентификаторов товаров (x-y)). В интерфейсе настроек его нет. Нужно включать в файле user_config.php.- для разработки аддонов - новый метод getAddonParam().- Добавлены новые триггеры для плагинов- Исправления ошибок.👉 v.5.6.2 (30.04.2025)- Атрибуты, характеристики - добавлена иконка в списке с подсказкой о том, что этот элемент не используется- Атрибуты, характеристики - подсчет количества товаров, где используется данная характеристика / атрибут- Библиотека обработки изображений: - - добавлена поддержка avif- - исправлена ошибка с обработкой прозрачности для webp- Добавлена новая настройка: поиск товаров администратором по коду атрибута- Добавлена кнопка "Копировать" в списке способов оплаты (опции / способы оплаты)- Шаблон товара - оптимизирована загрузка шаблона - block_image_middle, блокировка изображения с помощью большого пальца- Все поля mysql имеют значения по умолчанию- Исправления ошибок- Добавлены новые триггеры для плагиновСкачать JoomShopping#JoomShopping #расширения

Как вызвать событие только для указанной (одной или более) группы плагинов в Joomla 5Системные...

Как вызвать событие только для указанной (одной или более) группы плагинов в Joomla 5Системные плагины в Joomla срабатывают всегда, но большое их количество может негативно сказаться на скорости работы Приложения. А во-вторых ошибка в системном плагине, добавляющем кнопку в тулбар может обрушить механизм регистрации / авторизации пользователя. Поэтому для лучшего быстродействия и надёжности работы системы плагины в Joomla разделены на группы. Каждая группа срабатывает только в определённом месте и в определённый момент времени. Небольшой пост-шпаргалка для Joomla-разработчиков от участника нашего сообщества Виталия Некрасова (@vitalik_a) подскажет как в своём коде сделать то, что написано в заголовке поста 😎Читать пост на Хабре#joomla #php #разработка #webdev

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3.0Модуль позволяет создавать быстрые наборы элементов: ссылки на различные сущности на сайте Joomla: категории материалов, Virtuemart, JoomShopping, пункт меню или пользовательскую ссылку. Есть условия для исключений показа элементов списка.Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео. Также это могут быть не только ссылки, но и список вопросов FAQ, элементы Bootstrap Tabs, Accordion и т.д.v.2.3.0 Что нового?- Собственные макеты для ссылокТеперь для каждой ссылки можно указать собственный макет из папки /tmpl/sublayout/. Для использования модуля в этом режиме, необходимо выбрать макет модуля - default-sublayouts или создать собственный вариант этого макета. - Обработка плагинами контентаСодержимое поля Дополнительный текст для ссылки теперь обрабатывается плагинами контента.- Поле примечанияДобавлено поле примечания для ссылки. Это удобно ориентации в большой форме.- Рефакторинг кодаПроведена чистка и улучшения кода.Страница расширенияGitHub#расширения #virtuemart #JoomShopping

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

urmat

  • Новичок
  • 8
  • 0 / 0
Доброго дня.

Знатоки Joomla, подскажите советом... Есть сайт "городской портал" с модулями на главной странице "авто, недвижимость, работа, объявления".  Мне нужно парсить определенные страницы (объявления, соответствующие модулям) из сайта донора, после чего выводить их у себя на сайте на вышеперечисленных модулях.
Далее, посетитель кликнув на объявление в модуле, перенаправляется на сайт донора в соответствующее объявление.

Возможно ли сделать, чтобы эти модули были автонаполняемыми? Может есть разработчики, кто мог бы это решить?

*

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
Re: Автонаполняемые модули Joomla
« Ответ #1 : 03.12.2018, 10:16:38 »
тут надо уточнять на сайте доноре
если есть api то не проблема сделать
иначе парсить и автоматом через крон загружать в вашу бд в соответствии со скриптом
написать парсер можно
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

urmat

  • Новичок
  • 8
  • 0 / 0
Re: Автонаполняемые модули Joomla
« Ответ #2 : 03.12.2018, 12:25:48 »
Благодарю за ответ, пойду поинтересуюсь насчет api
*

pavelrer

  • Давно я тут
  • 615
  • 10 / 2
Re: Автонаполняемые модули Joomla
« Ответ #3 : 03.12.2018, 12:26:18 »
Донора в студию.
*

pavelrer

  • Давно я тут
  • 615
  • 10 / 2
Re: Автонаполняемые модули Joomla
« Ответ #4 : 03.12.2018, 12:28:04 »
Можно без api, парсить контейнер, но не всегда может получиться средствами php. AJAX допустим будет трудно.
*

pavelrer

  • Давно я тут
  • 615
  • 10 / 2
Re: Автонаполняемые модули Joomla
« Ответ #5 : 03.12.2018, 12:32:58 »
Пиример - не очень удачный но рабочий.
Код
		// Подключаем библиотеку парсера
require_once('phpQuery.php');
Код
// Страница со списком новостей.

$url_news_list = 'https://www.miele.ru/domestic/new-products-302.htm';         

// :nth-child(0)   

// Переменная CSS для парсера ссылки на страницу первой новости со страницы списка новостей.
$css_link_first_news = 'div#mainArea div#contentArea div.contentBox div.vertical-delimiter-left div.news-events-page div.ym-gl:nth-child(0) div.teaser-big div.ym-gbox a';


// Кодировка исходного сайта.
 $code_assci = 'utf-8';
// $code_assci = 'cp1251';
// $code_assci = 'windows-1251';

// ID Категории

$cat_id = '372';

// Убираем, подменяем - ! Для каждого сайта индивидуально !
 $del_cont = array( '<strong>'=>'','</strong>'=>'');
 
                                 
// ---------- Парсим список новостей
// Забираем страницу со списком новостей
$html_page = file_get_contents($url_news_list);                 
// echo $html_page;

$html_doc = phpQuery::newDocument($html_page);

//  Парсим ссылку на первую новость ! На разных сайтах может быть прописанна по разному
$link_first_news = 'https://www.miele.ru'.(pq($css_link_first_news)->attr('href'));
// echo $link_first_news;

// Освобождаем память
phpQuery::unloadDocuments($html_doc);



// md5 уникальность на основе URL первой(последний) новости           
 $md5_news_url = $cat_id.'-'.md5($link_first_news);
// echo $md5_news_url;

// Ищем в базе md5 исходя из URL новости
$db = JFactory::getDbo();
$query = "SELECT #__content.md5
FROM #__content
WHERE #__content.md5 = $db->quote('".$md5_news_url."') ORDER BY #__content.id DESC LIMIT 80";
  $db->setQuery($query);
$md5ListParser = $db->loadObjectList();
$count_md5 = count($md5ListParser);

if ($count_md5 == 0) {                        // -------- 'такой новости нет в базе';

// ---------- Парсим новость
// Забираем страницу с первой новостью
$html_page = file_get_contents($link_first_news);     

$html_doc = phpQuery::newDocument($html_page);

// Парсим title
$meta_title = pq('title')->html();
$meta_title = mb_convert_encoding($meta_title, "UTF-8", $code_assci);
// echo $meta_title;

// Парсим новость
$news = pq('section.news-single-post')->html();
$html_news = mb_convert_encoding($news, "UTF-8", $code_assci);
// echo $html_news;

// Убираем, подменяем
$html_news = strtr($html_news, $del_cont);

// Удоляем ссылки
$html_news = preg_replace('/<a[^>]+>/i', '', $html_news);
$del_end_a = array('</a>'=>'');
$html_news = strtr($html_news, $del_end_a);

// Посчитаем кол-во символов в новости, без тегов и пробелов.
$chr_temp = strip_tags($html_news);
$chr_temp = str_replace(" ","", $chr_temp);
$chr_temp = str_replace(chr(13),"", $chr_temp);
$chr_temp = str_replace(chr(10),"", $chr_temp);
$chr_temp = str_replace(chr(9),"", $chr_temp);
$chr_count = iconv_strlen($chr_temp);

// Добовляем ссылку на оригинал
$html_news = '<hr style="margin: 10px 0 10px 0;">'.'<p>Лента новостей - <a href="'.$url_news_list.'" style="padding-left: 30px;" target="_blank">'.$url_news_list.'</a></p>'.'<p>('.$chr_count.') - Символов без пробелов и тегов.</p>'.'<a href="'.$link_first_news.'" style="padding-left: 30px;" target="_blank">'.$link_first_news.'</a><input class="spoilerbutton" value="Читать еще..." onclick="this.value=this.value=='Читать еще...'?'Свернуть.':'Читать еще...';" type="button" /><div class="spoiler"><div>'.$html_news.'</div></div><hr style="margin: 10px 0 10px 0;">';



// Освобождаем память
phpQuery::unloadDocuments($html_doc);

}

Код
// ---------------------------------------------------------------------------- Пишем в базу
if ($count_md5 == 0) { // такой новости нет в базе

// Делаем alias
  function translit($str) {
    $rus = array(',', '.', '!', ':', ' ', 'А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я', 'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я');
    $lat = array('', '', '', '', '-', 'A', 'B', 'V', 'G', 'D', 'E', 'E', 'Gh', 'Z', 'I', 'Y', 'K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'F', 'H', 'C', 'Ch', 'Sh', 'Sch', 'Y', 'Y', 'Y', 'E', 'Yu', 'Ya', 'a', 'b', 'v', 'g', 'd', 'e', 'e', 'gh', 'z', 'i', 'y', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'h', 'c', 'ch', 'sh', 'sch', 'y', 'y', 'y', 'e', 'yu', 'ya');
    return str_replace($rus, $lat, $str);
  }
  $alias = translit($meta_title);
  $alias = mb_strtolower($alias);
 
// Узнаем автора, через категорию

  $db = JFactory::getDbo();
$query = "SELECT #__categories.created_user_id
FROM #__categories
WHERE #__categories.id = $db->quote('".$cat_id."') ORDER BY #__categories.id DESC LIMIT 1";
$db->setQuery($query);
$created_user_id = $db->loadObject();
    $created_by = $created_user_id->created_user_id;


  $metadata = '{"robots":"","author":"","rights":"","xreference":""}';
  $attribs = '{"show_title":"","link_titles":"","show_tags":"","show_intro":"","info_block_position":"","info_block_show_title":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","urls_position":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}';
  $urls = '{"urla":false,"urlatext":"","targeta":"","urlb":false,"urlbtext":"","targetb":"","urlc":false,"urlctext":"","targetc":""}';
  $images = '{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}';
  $date_parset = date('Y-m-d H:i:s');
 
$query = "INSERT INTO `#__content`(`id`, `asset_id`, `title`, `alias`, `introtext`, `fulltext`, `state`, `catid`, `created`, `created_by`, `created_by_alias`, `modified`, `modified_by`, `checked_out`, `checked_out_time`, `publish_up`, `publish_down`, `images`, `urls`, `attribs`, `version`, `ordering`, `metakey`, `metadesc`, `access`, `hits`, `metadata`, `featured`, `language`, `xreference`, `md5`)
  VALUES (`id`, `asset_id`, '".$meta_title."', '".$alias."', '".$html_news."', `fulltext`, `state`, '".$cat_id."', '".$date_parset."', '".$created_by."',
  `created_by_alias`, '".$date_parset."', `modified_by`, `checked_out`, `checked_out_time`, `publish_up`, `publish_down`, '".$images."', '".$urls."', '".$attribs."',
  `version`, `ordering`, `metakey`, `metadesc`, '1', `hits`, '".$metadata."', `featured`, '*', `xreference`, '".$md5_news_url."')";

    $db->setQuery($query);
$db->query();
}
// ---------------------------------------------------------------------------- Конец Пишем в базу
*

urmat

  • Новичок
  • 8
  • 0 / 0
Re: Автонаполняемые модули Joomla
« Ответ #6 : 03.12.2018, 12:40:57 »
*

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
Re: Автонаполняемые модули Joomla
« Ответ #7 : 03.12.2018, 12:42:25 »
так получается парсить не новости а объявы
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

urmat

  • Новичок
  • 8
  • 0 / 0
Re: Автонаполняемые модули Joomla
« Ответ #8 : 03.12.2018, 12:44:08 »
Мне нужно парсить определенные страницы (объявления, соответствующие модулям) из сайта донора, после чего выводить их у себя на сайте на вышеперечисленных модулях.

Совершенно верно
*

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
Re: Автонаполняемые модули Joomla
« Ответ #9 : 03.12.2018, 12:49:31 »
а у вас они как выводятся?
просто материалы или какая то доска стоит?
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

urmat

  • Новичок
  • 8
  • 0 / 0
Re: Автонаполняемые модули Joomla
« Ответ #10 : 03.12.2018, 12:58:50 »
lexxbry, вот ссылка: http://oshportal.kg

Портал от: про-портал.инфо 
*

pavelrer

  • Давно я тут
  • 615
  • 10 / 2
Re: Автонаполняемые модули Joomla
« Ответ #11 : 03.12.2018, 13:05:09 »
С помощью phpQuery.php парсятся оба сайта, попробовал.
Идею дал.
Ну если не справитесь, можете написать в личку только через пару недель.
Нет времени возиться :)
Удачи.
*

urmat

  • Новичок
  • 8
  • 0 / 0
Re: Автонаполняемые модули Joomla
« Ответ #12 : 03.12.2018, 13:18:40 »
pavelrer, не могу в личку написать
*

pavelrer

  • Давно я тут
  • 615
  • 10 / 2
Re: Автонаполняемые модули Joomla
« Ответ #13 : 03.12.2018, 14:54:37 »
кинул почту в личку.
*

urmat

  • Новичок
  • 8
  • 0 / 0
Re: Автонаполняемые модули Joomla
« Ответ #14 : 07.12.2018, 07:57:24 »
pavelrer, написал на  почту, нет ответа уже 4 дня
*

pavelrer

  • Давно я тут
  • 615
  • 10 / 2
Re: Автонаполняемые модули Joomla
« Ответ #15 : 08.12.2018, 03:58:15 »
Цитировать
pavelrer, написал на  почту, нет ответа уже 4 дня
Цитировать
Ну я тут не самый лучший форумчанин, но вы в личку написать почему-то не можете, мне почта не пришла.
код на парсинг HTML статики - рабочий, причем проверен на ваших примерах!
парсер динамики без флеша  от 60-100р без обертки в компонент. еще 20-40р коллеги с форума обернут точно.
биплатны ручной - distill, мы пользуем только его но со своей плюшкой json - не продается меньше чем за 10 едениц :)
код который дал, рабочий, с записью уников в базу статей! 100% рабочий, просто кое где еще не отключили - и все норм!
Ну он чуть кривой! Но все чики-пуки там даты и еще мелочи видимо.
« Последнее редактирование: 08.12.2018, 04:02:11 от pavelrer »
*

urmat

  • Новичок
  • 8
  • 0 / 0
Re: Автонаполняемые модули Joomla
« Ответ #16 : 11.12.2018, 13:59:33 »
в личку написать не могу, ошибка: "Невозможно найти пользователя с таким e-mail."
На Яндекс почту повторно отправил письмо.

Мне надо было заранее написать, что в кодах не разбираюсь *ОХ-Х-Х* да и с панелью управления не до конца разобрался. Показал программисту ваш код, он сказал: "закажите лучше у них"

Не совсем понимаю обертки 60-100руб, distill, плюшки... Поэтому, если можете огласите примерную цену на urmatich@gmail.com

К вашим коллегам тоже обращусь-кто в теме, напишите пожалуйста
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Стоит ли ставить плагин rel="canonical" на Joomla 3

Автор azm1n

Ответов: 2
Просмотров: 218
Последний ответ 09.05.2025, 12:39:18
от azm1n
Вывести поля профиля Joomla

Автор romagromov

Ответов: 11
Просмотров: 1207
Последний ответ 28.04.2025, 10:25:44
от sivers
Максимальная версия PHP для Joomla 3

Автор Dram

Ответов: 8
Просмотров: 1536
Последний ответ 27.03.2025, 10:40:29
от wishlight
Joomla! 3.9.21 Невозможно создать пункт меню

Автор edvalitto

Ответов: 1
Просмотров: 224
Последний ответ 26.03.2025, 19:26:30
от azm1n
Проблема со входом в панель администратора Joomla 3.x после обновления

Автор danieeljose

Ответов: 2
Просмотров: 440
Последний ответ 24.03.2025, 20:33:02
от R31rus