lenta.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. use app\models\front\News;
  3. $keyadd = News::keyFilter();
  4. ?>
  5. <a class="news-link" href="/news">Лента новостей</a>
  6. <?php if( Yii::$app->controller->action->id!="index") echo $this->render("@app/views/_etc/banners/desktopLentBannerVideo"); ?>
  7. <div class="lenta">
  8. <?= Yii::$app->cache->getOrSet("main_page_lenta_".(Yii::$app->deviceDetect->isMobile() ?"desktop":"mobile").Yii::$app->controller->action->id.$keyadd,function () {
  9. $lenta = "<div id='list-wrapper' class='list-wrapper'>";
  10. /*
  11. // Фиксированные новости или банера в верху ленты
  12. ## пример "День поля"
  13. */
  14. /* $lenta .= '<style>.lenta .list-wrapper .lenta_fix:hover{background:#60b740;}</style>
  15. <div class="lenta_fix"><h3>
  16. <a href="/story/den_sibirskogo_polya_2023" title="День Сибирского поля-2023"><img src="/img/day_pole.svg" width="275px" height="80px" alt="День Сибирского поля"></a><div class="published_at">28-29 июня</div>
  17. </h3>
  18. </div>
  19. ';
  20. */
  21. $lenta .= '<style>.lenta .list-wrapper .lenta_fix:hover{background:#60b740;}</style>
  22. <div class="lenta_fix"><h3>
  23. <a href="https://%D0%BD%D0%B0%D1%80%D0%BE%D0%B4%D0%BD%D1%8B%D0%B9%D0%B7%D0%BD%D0%B0%D0%BA%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0.%D1%80%D1%84" title="Народный знак качества"><img src="/img/nzk_button.png" width="275px" height="80px" alt="Народный знак качества"></a><div class="published_at"></div>
  24. </h3>
  25. </div>
  26. ';
  27. $index = 0;
  28. foreach (News::findFilter()->andWhere(["(flags & 1)"=>0])->limit(70)->all() as $model){
  29. $index++;
  30. $lenta.= \yii\helpers\Html::tag('div',$this->render('_item',["model"=>$model])) ;
  31. if($index==3) $lenta.=$this->render("@app/views/_etc/banners/mobileMainPageLentBanner");
  32. if($index==10 && Yii::$app->controller->action->id!="index") $lenta.=$this->render("@app/views/_etc/banners/desktopLentBanner");
  33. if($index==20 && Yii::$app->controller->action->id!="index") $lenta.=$this->render("@app/views/_etc/banners/desktopLent20Banner");
  34. if($index>20 && ($index % 10)==0 && Yii::$app->controller->action->id!="index" ) $lenta.=$this->render("@app/views/_etc/banners/desktopLent20Banner",["index"=>$index]);
  35. }
  36. $lenta.="</div>";
  37. return $lenta;
  38. },News::$keysCache['main_page_lenta']);
  39. ?>
  40. <div class="all-news">
  41. <a href="/news">Все новости</a>
  42. </div>
  43. </div>