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

vladsklyar

  • Захожу иногда
  • 87
  • 1 / 0
Модуль материалы по ID
« : 08.09.2020, 15:38:31 »
Добрый день, подскажите!
Есть модуль вывода метериала по ID, в котором ввожу ID материалов через запятую для, вывода в статье нужных мне материалов проблема в том что нужно добавить ещё поле для вывода определенного  количества материала на мобильных устройствах для это дописал ещё одно поле ID материалов через запятую для скрытия на моб. версии - тоесть вводяться два поля 1. материалы которые отображаться на пк    2. материалы на моб. -  получилось два массива
 
   $article_ids = explode(',',$params->get('articleid', ''));  (для пк)
   $article_mb = explode(',',$params->get('articleid-mb', '')); (для мобилы)

а дальше фантазия закончилась  (хотел сравнять два массива и если есть одинаковые значения до дописать style="hidden-xs")
только как передать style="hidden-xs" в массив

   foreach ($items as &$item)


      {
         $item->slug    = $item->id . ':' . $item->alias;
         $item->catslug = $item->catid . ':' . $item->category_alias;

         if ($access || in_array($item->access, $authorised))
         {
            // We know that user has the privilege to view the article
            $item->link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catid, $item->language));
         }
         else
         {
            $item->link = JRoute::_('index.php?option=com_users&view=login');
         }
      }

      return $items;
   }
}

] https://prnt.sc/udmq62]
*

NewUsers

  • Живу я здесь
  • 2250
  • 202 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Модуль материалы по ID
« Ответ #1 : 08.09.2020, 15:45:25 »
Зачем скрыть одинаковые материалы и один из них показывать, объединяйте массивы с помощью array_merge и удаляйте повторения с помощью array_unique
Занимаюсь создание расширений для Joomla 3.9.x или выше | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на ЮMoney (бывшие Яндекс.Деньги). Помогу с переездом на PHP 7.x и исправлю ошибки PHP.
Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

vladsklyar

  • Захожу иногда
  • 87
  • 1 / 0
Re: Модуль материалы по ID
« Ответ #2 : 08.09.2020, 15:51:20 »
Да не, мне нужно к ним (где Id одинаковый ) дописать класс hidden-xs
*

vladsklyar

  • Захожу иногда
  • 87
  • 1 / 0
Re: Модуль материалы по ID
« Ответ #3 : 08.09.2020, 15:56:56 »
тоесть как добавить класс class="<?php echo $item->hidden; ?>" в шаблон вывода материалов   


   <div class="row work-block" itemscope itemtype="http://schema.org/Blog" class="articleid<?php echo $moduleclass_sfx; ?>">

<?php foreach ($list as $item) :  ?>

         <a href="<?php echo $item->link; ?>" itemprop="url" class="<?php echo $item->hidden; ?>">    
   <?php if(isset(json_decode($item->images)->image_intro) && !empty(json_decode($item->images)->image_intro)) :?>
    <img src="<?php echo(json_decode($item->images)->image_intro); ?>"
    alt="<?php echo(json_decode($item->images)->image_intro_alt); ?>"
    />
    <?php else : continue; endif;    ?>
<h3 itemprop="name"><?php echo $item->title; ?>      </h3>
      
            
   
      </a>

<?php endforeach; ?>
</div>
*

gartes

  • Завсегдатай
  • 1850
  • 141 / 6
  • Е = mс²
Re: Модуль материалы по ID
« Ответ #4 : 08.09.2020, 18:35:16 »
Да не, мне нужно к ним (где Id одинаковый ) дописать класс hidden-xs
:o
то Вы это решили !! .... то что чел никогда не увидит этих материалов - но Я все равно загружу ему - Да так - на всякий случай что бы жизнь была веселей !! ))  ;D Ну Да !
Код: php
# Получили данные веб клиента на основании его Юзер аганта
            $client = new \Joomla\Application\Web\WebClient();

            #Операционная система ....... Если нужна ВАМ
            $platform = $client->__get('platform');

            #Мобильный или нет
            $mobile = $client->__get('mobile');

            # Ставим лимит на кол. статей ( 3 - для мобильных или 9 для остальных )
            $limit = ($mobile?3:9);

            # Далее как вы и писали
            # значек амерсанда(&) сразу убираем так как вы не воздействуете на массив  $items
            # а просто его крутите !! :)
            /**
             * @var $items array
             */
            foreach ($items as $a => $item){
                # ($limit - 1) - так как в array первый индекс === 0
                if( $a > ( $limit - 1 ) ) break ;
                $item->slug    = $item->id . ':' . $item->alias;
                // ....... .... .... Ваш код
            }
Там трабла может быть с последними iPad - так как  у них подписан User Agent  как макинтош ... )))
А так это будет работать !!!!!!
« Последнее редактирование: 08.09.2020, 18:41:19 от gartes »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отключить модуль с контактами на Joomla, 3.10.4

Автор max.slanskii

Ответов: 10
Просмотров: 481
Последний ответ 06.02.2022, 10:30:21
от max.slanskii
Можно ли вывести поля материала в модуль?

Автор montpellier

Ответов: 12
Просмотров: 326
Последний ответ 20.12.2021, 13:41:56
от montpellier
Глучит модуль поиска

Автор mak200

Ответов: 0
Просмотров: 194
Последний ответ 20.12.2021, 11:53:25
от mak200
Вывести материалы в разных позициях шаблона

Автор Alex_gs

Ответов: 4
Просмотров: 347
Последний ответ 14.12.2021, 23:37:54
от anatol81n
Как посчитать материалы в модуле с учетом плагина Content Multicategories?

Автор R31rus

Ответов: 0
Просмотров: 207
Последний ответ 24.11.2021, 13:23:03
от R31rus