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

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

  • Завсегдатай
  • 1990
  • 180 / 0
Re: Модуль материалы по ID
« Ответ #1 : 08.09.2020, 15:45:25 »
Зачем скрыть одинаковые материалы и один из них показывать, объединяйте массивы с помощью array_merge и удаляйте повторения с помощью array_unique
Занимаюсь создание расширений только для Joomla 3.x.x | Доработка и настройка сайтов. Работаю по факту (без всяких предоплат). Оплата только на Яндекс.Деньги. Помогу с переездом на 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

  • Завсегдатай
  • 1630
  • 127 / 5
  • Е = 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 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль Yandex map

Автор baren

Ответов: 6
Просмотров: 154
Последний ответ 11.01.2021, 14:36:32
от baren
Joomla 3.9.23 не работают ссылки в меню на материалы

Автор Anna78

Ответов: 2
Просмотров: 149
Последний ответ 08.01.2021, 11:18:50
от Anna78
Убрать из модуля новостей ссылку на статью, на которой выводится модуль

Автор zeus07

Ответов: 2
Просмотров: 88
Последний ответ 23.12.2020, 00:42:59
от zeus07
Неправильно выводится модуль регистрации

Автор ALEXRAW

Ответов: 2
Просмотров: 250
Последний ответ 15.12.2020, 07:44:36
от draff
Вывести модуль в iframe

Автор timofe

Ответов: 5
Просмотров: 143
Последний ответ 09.12.2020, 07:25:18
от rsn