app/Customize/Controller/Block/ZenNewsListController.php line 31

Open in your IDE?
  1. <?php
  2. namespace Customize\Controller\Block;
  3. use Eccube\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  7. use Doctrine\ORM\EntityManagerInterface;
  8. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  9. class ZenNewsListController extends AbstractController
  10. {
  11.     /**
  12.      * @var EntityManagerInterface
  13.      */
  14.     protected $entityManager;
  15.     public function __construct(EntityManagerInterface $entityManager)
  16.     {
  17.         $this->entityManager $entityManager;
  18.     }
  19.     /**
  20.      * @Route("/block/zen_news_list", name="block_zen_news_list")
  21.      * @Template("user_data/zen_news_list.twig")
  22.      */
  23.     public function index(Request $requestSessionInterface $session)
  24.     {
  25.         $id $session->get('blb_id''0'); // 'default_value'は値がない場合のデフォルト
  26.         $w '';
  27.         $category '全ての記事';
  28.         if ($id == 0) {
  29.         } else {
  30.             if ($id == 1) {
  31.                 $w 'AND `category`="お知らせ"';
  32.                 $category 'お知らせ';
  33.             } elseif ($id == 2) {
  34.                 $category '商品情報';
  35.                 $w 'AND `category`="商品情報"';
  36.             }
  37.         }
  38.         // SQLクエリを実行してデータを取得
  39.         $connection $this->entityManager->getConnection();
  40.         $sql 'SELECT * FROM `blb_information` WHERE `view`=1 ' $w ' ORDER BY `s_date` DESC LIMIT 10';  // 任意のテーブル名を指定
  41.         $stmt $connection->prepare($sql);
  42.         $result $stmt->executeQuery();
  43.         $newsList $result->fetchAllAssociative();
  44.         for ($i 0$i count($newsList); $i++) {
  45.             if (file_exists('up_images/news/' $newsList[$i]['id'] . '/1.jpg')) {
  46.                 $newsList[$i]['image'] = '../up_images/news/' $newsList[$i]['id'] . '/1.jpg';
  47.             } else {
  48.                 $newsList[$i]['image'] = '';
  49.             }
  50.         }
  51.         // テンプレートにデータを渡してレンダリング
  52.         /*
  53.         return [
  54.             'NewsList' => $newsList
  55.         ];
  56.         */
  57.         return $this->render('Block/zen_news_list.twig', [
  58.             'Category' => $category,
  59.             'NewsList' => $newsList,
  60.         ]);
  61.     }
  62. }