Новости Joomla

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором представлены новости, интервью, рецензии и есть небольшой магазин на JoomShopping. Возникла необходимость внутри Joomla статей вставлять упоминание релиза и кнопочку «добавить в корзину». Я взял плагин WT JShopping products anywhere Сергея Толкачева (@webtolkru). Плагин отображает название товара и ссылку. При помощи напильника, ИИ и навыков вёрстки появился Uikit макет для шаблонов на базе Yootheme Pro.Учитываается мобильная версия - телефоны и ipad.Кнопка добавления в корзину работает по Ajax и появляется всплывающее окно (Notification Bar от Uikit) с информацией.Пока это базовый вариант, требующий доведения до лоска, однако он уже работает и его можно применять на проектах.Взять макет можно здесь.А плагин вставки товаров в материалы можно забрать здесь.Приветствуется доведение до ума и оформление в виде PR.

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

👩‍💻 WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla.Пакет плагинов галереи изображений и видео для вставки в материалы и модули Joomla, а так же везде, где работают плагины группы content. Поддержка собственных макетов вывода для галерей. Смешанные фото+видео галереи. Плагин создан как замена Simple Image Gallery и поддерживает синтаксис {gallery}{/gallery}.👩‍💻 v.1.2.3. Что нового?- Обработка вступительного и полного текста для материалов Joomla. Добавлена обработка шорткодов в полном и вступительном текстах материалов Joomla.- Системные требования. Повышены минимальные требования до Joomla 5 и PHP 8.1.- Мелкие правки. Исправлена ошибка работы макета по умолчанию в плагине контента.- Joomla 6. Пакет плагинов успешно протестирован на Joomla 6.Страница расширения.GitHub расширенияJoomla Extensions Directory@joomlafeed#joomla #расширения

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

tempus

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Применение хака к latestnews
« : 20.12.2010, 02:09:01 »
Доброго времени суток!

Подскажите пожалуйста, как можно познакомить модуль последних новостей с хаком добавления статьи в несколько категорий?
Сам хак описан вот тут -http://joomlaforum.ru/index.php/topic,75137.0.html
Все сделал как надо, установил, а вот как научить работать с этим модуль последних новостей не могу разобраться.
Суть вопроса - какой код нужно вставить в файл helper.php чтобы модуль вибирал статьи не только по одному полю категории, а по трем.
*

tempus

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Применение хака к latestnews
« Ответ #1 : 20.12.2010, 11:59:06 »
Выкладываю нерабочий вариант, по-моему сделал все как надо. Если кто может, проверьте, пожалуйста!


// no direct access
defined('_JEXEC') or die('Restricted access');

require_once (JPATH_SITE.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php');

class modLatestNewsHelper
{
   function getList(&$params)
   {
      global $mainframe;

      $db         =& JFactory::getDBO();
      $user      =& JFactory::getUser();
      $userId      = (int) $user->get('id');

      $count      = (int) $params->get('count', 5);
      $catid      = trim( $params->get('catid') );
      $catid2      = trim( $params->get('catid2') );
      $catid3      = trim( $params->get('catid3') );
      $secid      = trim( $params->get('secid') );
      $show_front   = $params->get('show_front', 1);
      $aid      = $user->get('aid', 0);

      $contentConfig = &JComponentHelper::getParams( 'com_content' );
      $access      = !$contentConfig->get('show_noauth');

      $nullDate   = $db->getNullDate();

      $date =& JFactory::getDate();
      $now = $date->toMySQL();

      $where      = 'a.state = 1'
         . ' AND ( a.publish_up = '.$db->Quote($nullDate).' OR a.publish_up <= '.$db->Quote($now).' )'
         . ' AND ( a.publish_down = '.$db->Quote($nullDate).' OR a.publish_down >= '.$db->Quote($now).' )'
         ;

      // User Filter
      switch ($params->get( 'user_id' ))
      {
         case 'by_me':
            $where .= ' AND (created_by = ' . (int) $userId . ' OR modified_by = ' . (int) $userId . ')';
            break;
         case 'not_me':
            $where .= ' AND (created_by <> ' . (int) $userId . ' AND modified_by <> ' . (int) $userId . ')';
            break;
      }

      // Ordering
      switch ($params->get( 'ordering' ))
      {
         case 'm_dsc':
            $ordering      = 'a.modified DESC, a.created DESC';
            break;
         case 'c_dsc':
         default:
            $ordering      = 'a.created DESC';
            break;
      }

      if ($catid)
      {
         $ids = explode( ',', $catid );
         JArrayHelper::toInteger( $ids );
         $catCondition = ' AND (cc.id=' . implode( ' OR cc.id=', $ids ). ')';
      }
      if ($catid2)
      {
         $ids = explode( ',', $catid2 );
         JArrayHelper::toInteger( $ids );
         $cat2Condition = ' AND (cc.id=' . implode( ' OR cc.id=', $ids ). ')';
      }
      if ($catid3)
      {
         $ids = explode( ',', $catid3 );
         JArrayHelper::toInteger( $ids );
         $cat3Condition = ' AND (cc.id=' . implode( ' OR cc.id=', $ids ). ')';
      }
      if ($secid)
      {
         $ids = explode( ',', $secid );
         JArrayHelper::toInteger( $ids );
         $secCondition = ' AND (s.id=' . implode( ' OR s.id=', $ids ). ')';
      }

      // Content Items only
      $query = 'SELECT a.*, ' .
         ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
         ' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'.
         ' FROM #__content AS a' .
         ($show_front == '0' ? ' LEFT JOIN #__content_frontpage AS f ON f.content_id = a.id' : '').
         ' INNER JOIN #__categories AS cc ON cc.id = a.catid' .
         ' INNER JOIN #__categories AS cc ON cc.id = a.catid2' .
         ' INNER JOIN #__categories AS cc ON cc.id = a.catid3' .
         ' INNER JOIN #__sections AS s ON s.id = a.sectionid' .
         ' WHERE '. $where .' AND s.id > 0' .
         ($access ? ' AND a.access <= ' .(int) $aid. ' AND cc.access <= ' .(int) $aid. ' AND s.access <= ' .(int) $aid : '').
         ($catid ? $catCondition : '').
            ($catid2 ? $cat2Condition : '').
            ($catid3 ? $cat3Condition : '').
         ($secid ? $secCondition : '').
         ($show_front == '0' ? ' AND f.content_id IS NULL ' : '').
         ' AND s.published = 1' .
         ' AND cc.published = 1' .
         ' ORDER BY '. $ordering;
      $db->setQuery($query, 0, $count);
      $rows = $db->loadObjectList();

      $i      = 0;
      $lists   = array();
      foreach ( $rows as $row )
      {
         if($row->access <= $aid)
         {
            $lists[$i]->link = JRoute::_(ContentHelperRoute::getArticleRoute($row->slug, $row, $row->sectionid));
         } else {
            $lists[$i]->link = JRoute::_('index.php?option=com_user&view=login');
         }
         $lists[$i]->text = htmlspecialchars( $row->title );
$lists[$i]->created = JHTML::_('date', $row->created, JText::_('DATE_FORMAT_LC2'));         $i++;
      }

      return $lists;
   }
}
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

CSS и latestnews

Автор sasha777

Ответов: 2
Просмотров: 1244
Последний ответ 15.04.2012, 22:52:51
от sasha777