Новости Joomla

Обновление пакета плагинов JL Like 5.0

Обновление пакета плагинов  JL Like 5.0

Обновление пакета плагинов JL Like 5.0.0Команда JoomLine рада представить долгожданное обновление плагина социальных кнопок JL Like — версию 5.0.0! В этом релизе мы сделали акцент на совместимости с последними версиями Joomla, улучшении производительности и расширении функционала.👩‍💻 Что нового в JL Like 5.0.0?- Полная совместимость с Joomla 5 — теперь плагин работает на всех актуальных версиях Joomla, включая Joomla 5.- Рефакторинг и оптимизация кода — проведена масштабная чистка и обновление внутренних классов для повышения стабильности и скорости работы.- Удаление устаревших зависимостей — полностью отказались от использования jQuery, что ускорило загрузку страниц и повысило безопасность.- Обновление CSS и удаление неиспользуемых стилей — интерфейс стал еще легче и современнее.- Удалена поддержка устаревших виджетов — например, функциональность твиттер-виджета вынесена из плагина.- Поддержка twitter:card — улучшена интеграция с социальными сетями для красивого отображения ссылок.- Гибкая настройка счетчиков лайков — теперь можно включать и отключать рандомизацию количества лайков.- Улучшено подключение скриптов — переход на WebAssetManager для более корректной работы с ресурсами.- Обновлены языковые переменныеРасширения всё ещё наследуют старую архитектуру плагинов Joomla 3, но были протестированы на Joomla 5.3.Новость на сайте JoomlineСтраница расширенияGitHub расширения@joomlafeed#расширения

Совет по Joomla: $db->getQuery(true) стал устаревшим

Совет по Joomla: $db->getQuery(true) стал устаревшим

👩‍💻 Совет по Joomla: $db->getQuery(true) стал устаревшим.Раньше при создании запросов в базу данных мы всегда получали объект запроса с помощью метода

getQuery(). Если передавался параметр
$new =
true, то получали новый запрос. Если без - последний.

use Joomla\CMS\Factory;$db = Factory::getContainer()->get('DatabaseDriver');$query = $db->getQuery(new: true);// и строим запрос
Под капот Joomla 4 вошёл Joomla Framework (PHP фреймворк а-ля Laravel, Yii и т.д.), а для Joomla 5 он обновился - версия 3.4.1 вышла 6 октября 2023г. В методе фреймворка есть примечание о том, что параметр
$new, который передавался в метод
getQuery() помечен как устаревший и будет удалён в версии фреймворка 4.0.
The parameter $new is deprecated and will be removed in 4.0, use %s::createQuery() instead.В Joomla 4 версия Joomla Framework была 2.x., в Joomla 5 - 3.x. Поэтому есть предположение, что с выходом Joomla 6 обновится и версия фреймворка - станет 4.0. Поэтому для получения объекта для новых запросов следует использовать метод
createQuery(). Он уже представлен в ядре и широко используется. При этом метод
getQuery() останется, но, скорее всего, будет выполнять функцию только геттера - получения текущего запроса.
@joomlafeed#joomla #php #разработка

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

mijsvit

  • Захожу иногда
  • 137
  • 7 / 0
В модуле не предусмотрен вывод основного текста обьявления, что не совсем удобно, если модуль используется на главной странице сайта. Хотелось бы добавить эту функцию, буду рад помощи..

Код
<?
//
// Copyright (C) 2005-2006 Achim Fischer
// All rights reserved.
//
// This file is part of the latest 5 module for Marketplace,
// the Joomla! Classifieds Component by Achim Fischer
//
// http://www.joomster.com
//
//
//
// Dont allow direct linking
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );



$database->setQuery( "SELECT id FROM #__menu WHERE link LIKE '%com_marketplace%' AND published='1' ");
    $mpItemid = $database->loadResult();

    if ( strlen( $mpItemid) > 0 ) {
    $mpItemidLink = "&amp;Itemid=".$mpItemid;
    }
    else {
    $mpItemidLink = "";   
    }
   
   
$database->setQuery( "SELECT a.id, a.category, a.ad_headline, a.ad_type, a.ad_image, date_format( a.date_created, '%d.%m.%Y' ) AS af_date, b.name
FROM #__marketplace_ads AS a, #__marketplace_categories AS b
WHERE b.published='1' AND a.category = b.id AND a.published='1'
ORDER BY a.id DESC LIMIT 5 ");

$meslist = $database->loadObjectList();


$content ="<table class=\"marketplace_last5\">";

foreach ($meslist as $mes) {

    $linkTarget = sefRelToAbs( "index.php?option=com_marketplace&amp;page=show_ad&amp;catid=".$mes->category."&amp;adid=".$mes->id.$mpItemidLink);
       
    if ($mes->ad_image > 0) {
      $imageIcon = $mosConfig_live_site."/modules/mod_marketplace5_images/photo.gif";
    }
    else {
      $imageIcon = $mosConfig_live_site."/modules/mod_marketplace5_images/transpixel.gif";
    }
   
    $content.="<tr><td valign=\"top\" width=\"20\"><center><img src=\"$imageIcon\" width=\"16\" height=\"16\" border=\"0\"></center></td><td valign=\"top\">"."<a href=\"$linkTarget\">".$mes->ad_headline."</a><br>".$af_type." ".$mes->name." (".$mes->af_date.")</td></tr>";
}

    $imageIcon2 = $mosConfig_live_site."/modules/mod_marketplace5_images/photo.gif";
   
$content.="<tr><td><br><br>&nbsp;</td><td valign=\"center\">";
$content.="<img src=\"$imageIcon2\" width=\"16\" height=\"16\" border=\"0\" align=\"left\"> - Об'яви з фото";
$content.="</td></tr></table>";

?>

*

FxPunter

  • Давно я тут
  • 691
  • 112 / 7
  • Э-эх!
кто-нибудь разрешил проблемку??
И еще, как кроме текста картинку выводить??
*

yunoshev

  • Завсегдатай
  • 1271
  • 179 / 1
У вас, мужики, в папке с компонентом есть один файл show_ad.php, который отвечает за вывод содержимого обявления.
Так вот, изучайте... :)
Код
...

// build ad-page: marketplace_ads

$database->setQuery("SELECT id, userid, user, name, surname, street, zip, city, state, country, phone1, phone2, email, web, ad_type, ad_headline, ad_text, ad_condition, ad_price, ad_image, date_format(date_created, '%d.%m.%Y' ) as date_cr, flag_featured, flag_top, flag_commercial FROM #__marketplace_ads WHERE id=$adid");
...
Здесь в выборке перечислены все необходимые поля объявления, в вашем случае -- ad_text. Добавляете в свой SQL-запрос, а между тегами <td>...</td> пишите
Код
<? echo $mes->ad_text; ?>
That's all! :)
*

FxPunter

  • Давно я тут
  • 691
  • 112 / 7
  • Э-эх!
Ща попробую, спасибо за ответ
Но если можно подробнее. Необходимо сделать SQL запрос?? мне не совсем понятно это: а между тегами <td>...</td>
И еще, так просто, кроме мужчин здесь (на форуме) - есть еще и девушки :) Но, я уже привыкла :)
« Последнее редактирование: 04.01.2008, 00:17:37 от FxPunter »
*

yunoshev

  • Завсегдатай
  • 1271
  • 179 / 1
Пожалуйста.
Вы правильно догадались, необходимо ваш запрос
Код
 
$database->setQuery( "SELECT a.id, a.category, a.ad_headline, a.ad_type, a.ad_image, date_format( a.date_created, '%d.%m.%Y' ) AS af_date, b.name
FROM #__marketplace_ads AS a, #__marketplace_categories AS b
WHERE b.published='1' AND a.category = b.id AND a.published='1'
ORDER BY a.id DESC LIMIT 5 ");
изменить "SELECT a.id, a.category, a.ad_headline, ... a.ad_text, ..."
А дальше по коду идет формирование переменной $content для вывода объявы, там есть
Код
$content.="<tr><td valign=\"top\" width=\"20\"><center><img src=\"$imageIcon\" width=\"16\" height=\"16\" border=\"0\"></center></td><td valign=\"top\">"."<a href=\"$linkTarget\">".$mes->ad_headline."</a><br>".$af_type." ".$mes->name." (".$mes->af_date.")</td></tr>";
где и можно после "<a href=\"$linkTarget\">".$mes->ad_headline."</a>" вставить ".$mes->ad_text".
Все, мне пора, дерзайте, девушка... :)
*

FxPunter

  • Давно я тут
  • 691
  • 112 / 7
  • Э-эх!
Простите, Вы очень заняты. Но как еще и вывод картинки сделать :)
*

yunoshev

  • Завсегдатай
  • 1271
  • 179 / 1
я уже спать хочу :)
значит, должен быть в комплекте с компонентом файл recent5.php (вывод последних 5 объяв), там это дело показано
Код
echo "<a href=".sefRelToAbs( "index.php?option=com_marketplace&amp;page=show_ad&amp;catid=$mes->category&amp;adid=$mes->id&amp;Itemid=$Itemid").">";

$a_pic_jpg = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."a_t.jpg";
$a_pic_png = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."a_t.png";
$a_pic_gif = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."a_t.gif";

$b_pic_jpg = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."b_t.jpg";
$b_pic_png = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."b_t.png";
$b_pic_gif = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."b_t.gif";

$c_pic_jpg = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."c_t.jpg";
$c_pic_png = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."c_t.png";
$c_pic_gif = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."c_t.gif";


$boolPicFound = 0;
if ( file_exists( $a_pic_jpg)) {
echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."a_t.jpg"."' align='center' border='0'>";
$boolPicFound = 1;
}
else {
if ( file_exists( $a_pic_png)) {
echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."a_t.png"."' align='center' border='0'>";
$boolPicFound = 1;
}
else {
if ( file_exists( $a_pic_gif)) {
echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."a_t.gif"."' align='center' border='0'>";
$boolPicFound = 1;
}
}
}
добавляете в запрос поле a.id, а в вывод, где я раньше описывал, что-то типа из указанного выше кода
Код
if ( file_exists( $a_pic_jpg)) {
echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."a_t.jpg"."' align='center' border='0'>";
Успехов!
*

neutomim30

  • Захожу иногда
  • 86
  • 0 / 0
Так и не понял, какой айди изображения объявления вставлять в строку запроса с базы и как выводить изображение объявления.. >:(

Кто может разъяснить?
*

marina9777

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Сделала почти до конца свой портал, хотелось бы видеть объявления с фотографиями. Пыталась сделать, как объяснял специалист постами выше, но не получилось ничего.

Может есть готовый модуль с фотографиями, я пока не нашла..
*

marina9777

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
помогите!  !
*

yunoshev

  • Завсегдатай
  • 1271
  • 179 / 1
@neutomim30, marina9777
Не знаю, какую версию вы используете, но если вы хотите просто показать изображение, то в запрос уже ничего добавлять не нужно.
Тем не менее, обобщая все выше сказанное, должно получиться:
Код: php

$database->setQuery( "SELECT id FROM #__menu WHERE link LIKE '%com_marketplace%' AND published='1' ");
$mpItemid = $database->loadResult();

if ( strlen( $mpItemid) > 0 ) {
$mpItemidLink = "&amp;Itemid=".$mpItemid;
} else {
$mpItemidLink = "";
}


$database->setQuery( "SELECT a.id, a.category, a.ad_headline, a.ad_type, a.ad_text, a.ad_image, date_format( a.date_created, '%d.%m.%Y' ) AS 'af_date', b.name AS 'name'
FROM #__marketplace_ads AS a, #__marketplace_categories AS b
WHERE b.published='1' AND a.category = b.id AND a.published='1'
ORDER BY a.id DESC LIMIT 5 ");

$meslist = $database->loadObjectList();

$content = '';
if (count($meslist)) {
$content = "<table class='marketplace_last5'>";

foreach ($meslist as $mes) {

$linkTarget = sefRelToAbs( "index.php?option=com_marketplace&amp;page=show_ad&amp;catid=".$mes->category."&amp;adid=".$mes->id.$mpItemidLink);

if ($mes->ad_image > 0) {
$imageIcon = $mosConfig_live_site."/modules/mod_marketplace5_images/photo.gif";
} else {
$imageIcon = $mosConfig_live_site."/modules/mod_marketplace5_images/transpixel.gif";
}

$ad_image = '&nbsp;';

$a_pic_jpg = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."a_t.jpg";
$a_pic_png = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."a_t.png";
$a_pic_gif = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."a_t.gif";

$b_pic_jpg = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."b_t.jpg";
$b_pic_png = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."b_t.png";
$b_pic_gif = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."b_t.gif";

$c_pic_jpg = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."c_t.jpg";
$c_pic_png = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."c_t.png";
$c_pic_gif = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."c_t.gif";


$boolPicFound = 0;
if ( file_exists( $a_pic_jpg)) {
$ad_image = "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."a_t.jpg' alt='". $mes->ad_headline. "' align='center' border='0'>";
$boolPicFound = 1;
} elseif ( file_exists( $a_pic_png)) {
$ad_image = "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."a_t.png' alt='". $mes->ad_headline. "' align='center' border='0'>";
$boolPicFound = 1;
} elseif ( file_exists( $a_pic_gif)) {
$ad_image = "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."a_t.gif' alt='". $mes->ad_headline. "' align='center' border='0'>";
$boolPicFound = 1;
}

$content.="<tr>";
// показ колонки с фотографией
$content.="<td valign='top' width='100px'>". ($ad_image !== '&nbsp;' ? "<a href='". $linkTarget. "' title='". $mes->ad_headline. "'>". $ad_image. "</a>" : $ad_image). "</td>";
// показ колонки с информацией
$content.="<td valign='top'>"."<a href='". $linkTarget. "' title='". $mes->ad_headline. "'>". $mes->ad_headline. "</a><br />".$mes->ad_type." ".$mes->name." (".$mes->af_date.")<br /><span class='small'>". $mes->ad_text. "</span></td>";
$content.="</tr>";
}

$content.="</table>";
}


Код не тестировался, т.к. данный компонент я нигде и никогда не использовал.
« Последнее редактирование: 20.12.2010, 20:57:39 от yunoshev »
*

neutomim30

  • Захожу иногда
  • 86
  • 0 / 0
тут просто о другом модуле шла речь..но и мне именно этот пришлось переделать его на такой манер же..но все равно спасибо! хоть и за запоздалую информацию :)
« Последнее редактирование: 21.12.2010, 10:42:53 от neutomim30 »
*

yunoshev

  • Завсегдатай
  • 1271
  • 179 / 1
@neutomim30
Если Вы хотели задать вопрос по другому модулю, то нужно было конкретизировать. Я же просто взял исходный код у топикстартера и внес свои правки с учетом всех пожеланий -- показ фото и текста. Немного изменил его, т.к. там не было проверки на наличие элементов в результатах выборки.
Почему же запоздалый ответ -- сутки меня не было, на работе был... и это уже поздно? :)
Пожалуйста :)
*

neutomim30

  • Захожу иногда
  • 86
  • 0 / 0
все бы такие были,как вы  ^-^ ...обычно ответа и не дождешся
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как добавить объявление без регистрации? MarketPlace 2.*

Автор coolon

Ответов: 4
Просмотров: 19586
Последний ответ 25.11.2014, 19:50:26
от oreh-lg
MarketPlace вывод объявлений 2-3 столбика

Автор zvi

Ответов: 1
Просмотров: 4790
Последний ответ 22.11.2013, 20:39:08
от zvi
Вывод определенной категории

Автор spectralw

Ответов: 3
Просмотров: 5734
Последний ответ 26.02.2013, 17:49:19
от cantsave
MarketPlace 2.3 Как добавить фото юзерам?

Автор dipl555

Ответов: 2
Просмотров: 10454
Последний ответ 29.11.2012, 11:07:37
от dipl555
MarketPlace - вывод объявлений без картинок

Автор viy

Ответов: 5
Просмотров: 6473
Последний ответ 17.10.2012, 23:36:08
от Олегус