var/cache/dev/twig/35/35c5c128eefdfdd694f1db72b744023d20cd628a38e142319a0798ac97b5c6d8.php line 52

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\SandboxExtension;
  6. use Twig\Markup;
  7. use Twig\Sandbox\SecurityError;
  8. use Twig\Sandbox\SecurityNotAllowedTagError;
  9. use Twig\Sandbox\SecurityNotAllowedFilterError;
  10. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  11. use Twig\Source;
  12. use Twig\Template;
  13. /* Product/list.twig */
  14. class __TwigTemplate_d4ffc4a7b4630146e185c4c62eeaebf654a4c87937ec2b641602d15cdb88fa2a extends \Eccube\Twig\Template
  15. {
  16.     private $source;
  17.     private $macros = [];
  18.     public function __construct(Environment $env)
  19.     {
  20.         parent::__construct($env);
  21.         $this->source $this->getSourceContext();
  22.         $this->blocks = [
  23.             'javascript' => [$this'block_javascript'],
  24.             'main' => [$this'block_main'],
  25.         ];
  26.     }
  27.     protected function doGetParent(array $context)
  28.     {
  29.         // line 11
  30.         return "default_frame.twig";
  31.     }
  32.     protected function doDisplay(array $context, array $blocks = [])
  33.     {
  34.         $macros $this->macros;
  35.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  36.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/list.twig"));
  37.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  38.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""Product/list.twig"));
  39.         // line 13
  40.         $context["body_class"] = "product_page";
  41.         // line 11
  42.         $this->parent $this->loadTemplate("default_frame.twig""Product/list.twig"11);
  43.         $this->parent->display($contextarray_merge($this->blocks$blocks));
  44.         
  45.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  46.         
  47.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  48.     }
  49.     // line 15
  50.     public function block_javascript($context, array $blocks = [])
  51.     {
  52.         $macros $this->macros;
  53.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  54.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  55.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  56.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""javascript"));
  57.         // line 16
  58.         echo "    <script>
  59.         eccube.productsClassCategories = {
  60.             ";
  61.         // line 18
  62.         $context['_parent'] = $context;
  63.         $context['_seq'] = twig_ensure_traversable((isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'18$this->source); })()));
  64.         $context['loop'] = [
  65.           'parent' => $context['_parent'],
  66.           'index0' => 0,
  67.           'index'  => 1,
  68.           'first'  => true,
  69.         ];
  70.         if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  71.             $length count($context['_seq']);
  72.             $context['loop']['revindex0'] = $length 1;
  73.             $context['loop']['revindex'] = $length;
  74.             $context['loop']['length'] = $length;
  75.             $context['loop']['last'] = === $length;
  76.         }
  77.         foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
  78.             // line 19
  79.             echo "            \"";
  80.             echo twig_escape_filter($this->envtwig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsefalse19), "js"), "html"nulltrue);
  81.             echo "\": ";
  82.             echo $this->extensions['Eccube\Twig\Extension\EccubeExtension']->getClassCategoriesAsJson($context["Product"]);
  83.             if ((twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse19) == false)) {
  84.                 echo ", ";
  85.             }
  86.             // line 20
  87.             echo "            ";
  88.             ++$context['loop']['index0'];
  89.             ++$context['loop']['index'];
  90.             $context['loop']['first'] = false;
  91.             if (isset($context['loop']['length'])) {
  92.                 --$context['loop']['revindex0'];
  93.                 --$context['loop']['revindex'];
  94.                 $context['loop']['last'] = === $context['loop']['revindex0'];
  95.             }
  96.         }
  97.         $_parent $context['_parent'];
  98.         unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Product'], $context['_parent'], $context['loop']);
  99.         $context array_intersect_key($context$_parent) + $_parent;
  100.         // line 21
  101.         echo "        };
  102.         \$(function() {
  103.             // 表示件数を変更
  104.             \$('.disp-number').change(function() {
  105.                 var dispNumber = \$(this).val();
  106.                 \$('#disp_number').val(dispNumber);
  107.                 \$('#pageno').val(1);
  108.                 \$(\"#form1\").submit();
  109.             });
  110.             // 並び順を変更
  111.             \$('.order-by').change(function() {
  112.                 var orderBy = \$(this).val();
  113.                 \$('#orderby').val(orderBy);
  114.                 \$('#pageno').val(1);
  115.                 \$(\"#form1\").submit();
  116.             });
  117.             \$('.add-cart').on('click', function(e) {
  118.                 var \$form = \$(this).parents('li').find('form');
  119.                 // 個数フォームのチェック
  120.                 var \$quantity = \$form.parent().find('.quantity');
  121.                 if (\$quantity.val() < 1) {
  122.                     \$quantity[0].setCustomValidity('";
  123.         // line 47
  124.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("1以上で入力してください。"), "html"nulltrue);
  125.         echo "');
  126.                     setTimeout(function() {
  127.                         loadingOverlay('hide');
  128.                     }, 100);
  129.                     return true;
  130.                 } else {
  131.                     \$quantity[0].setCustomValidity('');
  132.                 }
  133.                 e.preventDefault();
  134.                 \$.ajax({
  135.                     url: \$form.attr('action'),
  136.                     type: \$form.attr('method'),
  137.                     data: \$form.serialize(),
  138.                     dataType: 'json',
  139.                     beforeSend: function(xhr, settings) {
  140.                         // Buttonを無効にする
  141.                         \$('.add-cart').prop('disabled', true);
  142.                     }
  143.                 }).done(function(data) {
  144.                     // レスポンス内のメッセージをalertで表示
  145.                     \$.each(data.messages, function() {
  146.                         \$('#ec-modal-header').html(this);
  147.                     });
  148.                     \$('.ec-modal').show()
  149.                     // カートブロックを更新する
  150.                     \$.ajax({
  151.                         url: '";
  152.         // line 75
  153.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("block_cart");
  154.         echo "',
  155.                         type: 'GET',
  156.                         dataType: 'html'
  157.                     }).done(function(html) {
  158.                         \$('.ec-headerRole__cart').html(html);
  159.                     });
  160.                 }).fail(function(data) {
  161.                     alert('";
  162.         // line 82
  163.         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("カートへの追加に失敗しました。"), "html"nulltrue);
  164.         echo "');
  165.                 }).always(function(data) {
  166.                     // Buttonを有効にする
  167.                     \$('.add-cart').prop('disabled', false);
  168.                 });
  169.             });
  170.         });
  171.         \$('.ec-modal-wrap').on('click', function(e) {
  172.             // モーダル内の処理は外側にバブリングさせない
  173.             e.stopPropagation();
  174.         });
  175.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  176.             \$('.ec-modal').hide()
  177.         });
  178.     \$(function(){
  179.       \$('.mod_movie-btn-favorite').on('click', function(){
  180.         let loginStatus = ";
  181.         // line 102
  182.         echo (($this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_USER")) ? ("true") : ("false"));
  183.         echo ";
  184.         if(loginStatus){
  185.           let pid = \$(this).data('pid');
  186.           let tmpbtn = \$(this);
  187.           // tmpbtn.children(\"input\").prop('disabled', true);
  188.           tmpbtn.children(\"input\").attr('disabled', true);
  189.           if(tmpbtn.hasClass('favorite__del')){
  190.             \$.ajax({
  191.               url: \"";
  192.         // line 112
  193.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
  194.         echo "refine_delete_favorite\",
  195.               type: 'GET',
  196.               dataType: 'text',
  197.               data: {id: pid}
  198.             })
  199.             .then(
  200.               function (data) {
  201.                   tmpbtn.removeClass('favorite__del');
  202.                   tmpbtn.addClass('favorite__add');
  203.               },
  204.               function () {
  205.                   alert(\"処理に失敗しました。お手数ですが再度実行してください\");
  206.             });
  207.           } else {
  208.               \$.ajax({
  209.                 url: \"";
  210.         // line 129
  211.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("homepage");
  212.         echo "products/add_favorite/\"+pid,
  213.                 type: 'POST',
  214.               })
  215.               .then(
  216.                 function (data) {
  217.                     tmpbtn.removeClass('favorite__add');
  218.                     tmpbtn.addClass('favorite__del');
  219.                 },
  220.                 function () {
  221.                   alert(\"処理に失敗しました。お手数ですが再度実行してください\");
  222.               });
  223.           }
  224.           // tmpbtn.children(\"input\").prop('disabled', false);
  225.           tmpbtn.children(\"input\").attr('disabled', false);
  226.         } else {
  227.            location.href= \"";
  228.         // line 146
  229.         echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("mypage_delivery");
  230.         echo "\";
  231.         }
  232.       });
  233.     });
  234. </script>
  235. ";
  236.         
  237.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  238.         
  239.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  240.     }
  241.     // line 155
  242.     public function block_main($context, array $blocks = [])
  243.     {
  244.         $macros $this->macros;
  245.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  246.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  247.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  248.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""main"));
  249.         // line 156
  250.         echo "    ";
  251.         if ((twig_length_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'156$this->source); })()), "category_id", [], "any"falsefalsefalse156), "vars", [], "any"falsefalsefalse156), "errors", [], "any"falsefalsefalse156)) > 0)) {
  252.             // line 157
  253.             echo "        <div class=\"ec-searchnavRole content__inner\">
  254.             <p class=\"errormsg text-danger\">";
  255.             // line 158
  256.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("ご指定のカテゴリは存在しません"), "html"nulltrue);
  257.             echo "</p>
  258.         </div>
  259.     ";
  260.         } else {
  261.             // line 161
  262.             echo "        <div class=\"ec-searchnavRole content__inner\">
  263.             <form name=\"form1\" id=\"form1\" method=\"get\" action=\"?\">
  264.                 ";
  265.             // line 163
  266.             $context['_parent'] = $context;
  267.             $context['_seq'] = twig_ensure_traversable((isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'163$this->source); })()));
  268.             foreach ($context['_seq'] as $context["_key"] => $context["item"]) {
  269.                 // line 164
  270.                 echo "                    <input type=\"hidden\" id=\"";
  271.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsefalse164), "id", [], "any"falsefalsefalse164), "html"nulltrue);
  272.                 echo "\"
  273.                            name=\"";
  274.                 // line 165
  275.                 echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsefalse165), "full_name", [], "any"falsefalsefalse165), "html"nulltrue);
  276.                 echo "\"
  277.                            ";
  278.                 // line 166
  279.                 if ( !twig_test_empty(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsefalse166), "value", [], "any"falsefalsefalse166))) {
  280.                     echo "value=\"";
  281.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["item"], "vars", [], "any"falsefalsefalse166), "value", [], "any"falsefalsefalse166), "html"nulltrue);
  282.                     echo "\" ";
  283.                 }
  284.                 echo "/>
  285.                 ";
  286.             }
  287.             $_parent $context['_parent'];
  288.             unset($context['_seq'], $context['_iterated'], $context['_key'], $context['item'], $context['_parent'], $context['loop']);
  289.             $context array_intersect_key($context$_parent) + $_parent;
  290.             // line 168
  291.             echo "            </form>
  292.             <div class=\"ec-searchnavRole__topicpath\">
  293.                 <ol class=\"ec-topicpath\">
  294.                     <li class=\"ec-topicpath__item\"><a href=\"";
  295.             // line 171
  296.             echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  297.             echo "\">";
  298.             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("全て"), "html"nulltrue);
  299.             echo "</a>
  300.                     </li>
  301.                     ";
  302.             // line 173
  303.             if ( !(null === (isset($context["Category"]) || array_key_exists("Category"$context) ? $context["Category"] : (function () { throw new RuntimeError('Variable "Category" does not exist.'173$this->source); })()))) {
  304.                 // line 174
  305.                 echo "                        ";
  306.                 $context['_parent'] = $context;
  307.                 $context['_seq'] = twig_ensure_traversable(twig_get_attribute($this->env$this->source, (isset($context["Category"]) || array_key_exists("Category"$context) ? $context["Category"] : (function () { throw new RuntimeError('Variable "Category" does not exist.'174$this->source); })()), "path", [], "any"falsefalsefalse174));
  308.                 $context['loop'] = [
  309.                   'parent' => $context['_parent'],
  310.                   'index0' => 0,
  311.                   'index'  => 1,
  312.                   'first'  => true,
  313.                 ];
  314.                 if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  315.                     $length count($context['_seq']);
  316.                     $context['loop']['revindex0'] = $length 1;
  317.                     $context['loop']['revindex'] = $length;
  318.                     $context['loop']['length'] = $length;
  319.                     $context['loop']['last'] = === $length;
  320.                 }
  321.                 foreach ($context['_seq'] as $context["_key"] => $context["Path"]) {
  322.                     // line 175
  323.                     echo "                            <li class=\"ec-topicpath__divider\">|</li>
  324.                             <li class=\"ec-topicpath__item";
  325.                     // line 176
  326.                     if (twig_get_attribute($this->env$this->source$context["loop"], "last", [], "any"falsefalsefalse176)) {
  327.                         echo "--active";
  328.                     }
  329.                     echo "\"><a
  330.                                         href=\"";
  331.                     // line 177
  332.                     echo $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_list");
  333.                     echo "?category_id=";
  334.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Path"], "id", [], "any"falsefalsefalse177), "html"nulltrue);
  335.                     echo "\">";
  336.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Path"], "name", [], "any"falsefalsefalse177), "html"nulltrue);
  337.                     echo "</a>
  338.                             </li>
  339.                         ";
  340.                     ++$context['loop']['index0'];
  341.                     ++$context['loop']['index'];
  342.                     $context['loop']['first'] = false;
  343.                     if (isset($context['loop']['length'])) {
  344.                         --$context['loop']['revindex0'];
  345.                         --$context['loop']['revindex'];
  346.                         $context['loop']['last'] = === $context['loop']['revindex0'];
  347.                     }
  348.                 }
  349.                 $_parent $context['_parent'];
  350.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Path'], $context['_parent'], $context['loop']);
  351.                 $context array_intersect_key($context$_parent) + $_parent;
  352.                 // line 180
  353.                 echo "                    ";
  354.             }
  355.             // line 181
  356.             echo "                    ";
  357.             if ((twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'181$this->source); })()), "vars", [], "any"falsefalsefalse181), "value", [], "any"falsefalsefalse181) && twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'181$this->source); })()), "vars", [], "any"falsefalsefalse181), "value", [], "any"falsefalsefalse181), "name", [], "any"falsefalsefalse181))) {
  358.                 // line 182
  359.                 echo "                        <li class=\"ec-topicpath__divider\">|</li>
  360.                         <li class=\"ec-topicpath__item\">";
  361.                 // line 183
  362.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("「%name%」の検索結果", ["%name%" => twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["search_form"]) || array_key_exists("search_form"$context) ? $context["search_form"] : (function () { throw new RuntimeError('Variable "search_form" does not exist.'183$this->source); })()), "vars", [], "any"falsefalsefalse183), "value", [], "any"falsefalsefalse183), "name", [], "any"falsefalsefalse183)]), "html"nulltrue);
  363.                 echo "</li>
  364.                     ";
  365.             }
  366.             // line 185
  367.             echo "                </ol>
  368.             </div>
  369.             <div class=\"ec-searchnavRole__infos\">
  370.                 <div class=\"ec-searchnavRole__counter\">
  371.                     ";
  372.             // line 189
  373.             if ((twig_get_attribute($this->env$this->source, (isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'189$this->source); })()), "totalItemCount", [], "any"falsefalsefalse189) > 0)) {
  374.                 // line 190
  375.                 echo "                        ";
  376.                 echo $this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("<span class=\"ec-font-bold\">%count%件</span><span>の動画が見つかりました</span>", ["%count%" => twig_get_attribute($this->env$this->source, (isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'190$this->source); })()), "totalItemCount", [], "any"falsefalsefalse190)]);
  377.                 echo "
  378.                     ";
  379.             } else {
  380.                 // line 192
  381.                 echo "                        <span>";
  382.                 echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("お探しの動画は見つかりませんでした"), "html"nulltrue);
  383.                 echo "</span>
  384.                     ";
  385.             }
  386.             // line 194
  387.             echo "                </div>
  388.                 ";
  389.             // line 195
  390.             if ((twig_get_attribute($this->env$this->source, (isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'195$this->source); })()), "totalItemCount", [], "any"falsefalsefalse195) > 0)) {
  391.                 // line 196
  392.                 echo "                    <div class=\"ec-searchnavRole__actions\">
  393.                         <div class=\"ec-select\">
  394.                             ";
  395.                 // line 198
  396.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock((isset($context["disp_number_form"]) || array_key_exists("disp_number_form"$context) ? $context["disp_number_form"] : (function () { throw new RuntimeError('Variable "disp_number_form" does not exist.'198$this->source); })()), 'widget', ["id" => """attr" => ["class" => "disp-number"]]);
  397.                 echo "
  398.                             ";
  399.                 // line 199
  400.                 echo $this->env->getRuntime('Symfony\Component\Form\FormRenderer')->searchAndRenderBlock((isset($context["order_by_form"]) || array_key_exists("order_by_form"$context) ? $context["order_by_form"] : (function () { throw new RuntimeError('Variable "order_by_form" does not exist.'199$this->source); })()), 'widget', ["id" => """attr" => ["class" => "order-by"]]);
  401.                 echo "
  402.                         </div>
  403.                     </div>
  404.                 ";
  405.             }
  406.             // line 203
  407.             echo "            </div>
  408.         </div>
  409.         ";
  410.             // line 205
  411.             if ((twig_get_attribute($this->env$this->source, (isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'205$this->source); })()), "totalItemCount", [], "any"falsefalsefalse205) > 0)) {
  412.                 // line 206
  413.                 echo "        <div class=\"page__content\">
  414.           <div class=\"page__inner\">
  415.             <ul class=\"mod_movie-list\">
  416.             ";
  417.                 // line 210
  418.                 $context['_parent'] = $context;
  419.                 $context['_seq'] = twig_ensure_traversable((isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'210$this->source); })()));
  420.                 foreach ($context['_seq'] as $context["_key"] => $context["Product"]) {
  421.                     // line 211
  422.                     echo "              ";
  423.                     $context["isFavorite"] = ( !twig_test_empty(twig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'211$this->source); })()), "user", [], "any"falsefalsefalse211)) && twig_get_attribute($this->env$this->sourcecall_user_func_array($this->env->getFunction('repository')->getCallable(), ["Eccube\\Entity\\CustomerFavoriteProduct"]), "isFavorite", [=> twig_get_attribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'211$this->source); })()), "user", [], "any"falsefalsefalse211), => $context["Product"]], "method"falsefalsefalse211));
  424.                     // line 212
  425.                     echo "              ";
  426.                     // line 213
  427.                     echo "              ";
  428.                     $context["productClass"] = twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["Product"], "ProductClasses", [], "any"falsefalsefalse213), "get", [=> 0], "method"falsefalsefalse213);
  429.                     // line 214
  430.                     echo "              ";
  431.                     $context["videoContent"] = twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["productClass"]) || array_key_exists("productClass"$context) ? $context["productClass"] : (function () { throw new RuntimeError('Variable "productClass" does not exist.'214$this->source); })()), "ProductClassContent", [], "any"falsefalsefalse214), "get", [=> 0], "method"falsefalsefalse214);
  432.                     // line 215
  433.                     echo "              ";
  434.                     if ( !twig_test_empty((isset($context["videoContent"]) || array_key_exists("videoContent"$context) ? $context["videoContent"] : (function () { throw new RuntimeError('Variable "videoContent" does not exist.'215$this->source); })()))) {
  435.                         // line 216
  436.                         echo "                ";
  437.                         $context["anker"] = $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("video/{product_id}/content/{content_id}", ["product_id" => twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsefalse216), "content_id" => twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source, (isset($context["videoContent"]) || array_key_exists("videoContent"$context) ? $context["videoContent"] : (function () { throw new RuntimeError('Variable "videoContent" does not exist.'216$this->source); })()), "Content", [], "any"falsefalsefalse216), "id", [], "any"falsefalsefalse216)]);
  438.                         // line 217
  439.                         echo "              ";
  440.                     } else {
  441.                         // line 218
  442.                         echo "                ";
  443.                         $context["anker"] = $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getUrl("product_detail", ["id" => twig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsefalse218)]);
  444.                         // line 219
  445.                         echo "              ";
  446.                     }
  447.                     // line 220
  448.                     echo "
  449.               <li class=\"mod_movie-item\">
  450.                 <div class=\"mod_movie-item-inner\">
  451.                   <div class=\"mod_movie-img-wrapper\">
  452.                     <a href=\"";
  453.                     // line 224
  454.                     echo twig_escape_filter($this->env, (isset($context["anker"]) || array_key_exists("anker"$context) ? $context["anker"] : (function () { throw new RuntimeError('Variable "anker" does not exist.'224$this->source); })()), "html"nulltrue);
  455.                     echo "\">
  456.                       ";
  457.                     // line 225
  458.                     if ((twig_get_attribute($this->env$this->source$context["Product"], "ProductImage", [], "any"truetruefalse225) &&  !twig_test_empty(twig_get_attribute($this->env$this->source$context["Product"], "ProductImage", [], "any"falsefalsefalse225)))) {
  459.                         // line 226
  460.                         echo "                        <img src=\"";
  461.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl(twig_get_attribute($this->env$this->sourcetwig_get_attribute($this->env$this->source$context["Product"], "ProductImage", [], "any"falsefalsefalse226), "get", [=> 0], "method"falsefalsefalse226), "save_image"), "html"nulltrue);
  462.                         echo "\" alt=\"Product.name\" />
  463.                       ";
  464.                     } else {
  465.                         // line 228
  466.                         echo "                        <img src=\"";
  467.                         echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($this->extensions['Eccube\Twig\Extension\EccubeExtension']->getNoImageProduct(""), "save_image"), "html"nulltrue);
  468.                         echo "\" alt=\"\" />
  469.                       ";
  470.                     }
  471.                     // line 230
  472.                     echo "                    </a>
  473.                   </div>
  474.                   <div class=\"mod_movie-text-wrapper\">
  475.                     <a href=\"";
  476.                     // line 233
  477.                     echo twig_escape_filter($this->env, (isset($context["anker"]) || array_key_exists("anker"$context) ? $context["anker"] : (function () { throw new RuntimeError('Variable "anker" does not exist.'233$this->source); })()), "html"nulltrue);
  478.                     echo "\" class=\"mod_movie-title\">";
  479.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans(twig_get_attribute($this->env$this->source$context["Product"], "name", [], "any"falsefalsefalse233)), "html"nulltrue);
  480.                     echo "</a>
  481.                     ";
  482.                     // line 234
  483.                     $context["searchWords"] = twig_split_filter($this->envtwig_get_attribute($this->env$this->source$context["Product"], "search_word", [], "any"falsefalsefalse234), ",");
  484.                     // line 235
  485.                     echo "                    <ul class=\"mod_movie-keyword-list\">
  486.                       ";
  487.                     // line 236
  488.                     $context['_parent'] = $context;
  489.                     $context['_seq'] = twig_ensure_traversable((isset($context["searchWords"]) || array_key_exists("searchWords"$context) ? $context["searchWords"] : (function () { throw new RuntimeError('Variable "searchWords" does not exist.'236$this->source); })()));
  490.                     foreach ($context['_seq'] as $context["_key"] => $context["word"]) {
  491.                         // line 237
  492.                         echo "                        ";
  493.                         if ( !twig_test_empty($context["word"])) {
  494.                             // line 238
  495.                             echo "                        <li class=\"mod_movie-keyword-item\">
  496.                           <span>";
  497.                             // line 239
  498.                             echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans($context["word"]), "html"nulltrue);
  499.                             echo "</span>
  500.                         </li>
  501.                         ";
  502.                         }
  503.                         // line 242
  504.                         echo "                      ";
  505.                     }
  506.                     $_parent $context['_parent'];
  507.                     unset($context['_seq'], $context['_iterated'], $context['_key'], $context['word'], $context['_parent'], $context['loop']);
  508.                     $context array_intersect_key($context$_parent) + $_parent;
  509.                     // line 243
  510.                     echo "                    </ul>
  511.                     <div class=\"mod_movie-btn-wrapper\">
  512.                       <div class=\"mod_movie-btn-favorite ";
  513.                     // line 245
  514.                     echo ((((isset($context["isFavorite"]) || array_key_exists("isFavorite"$context) ? $context["isFavorite"] : (function () { throw new RuntimeError('Variable "isFavorite" does not exist.'245$this->source); })()) == 1)) ? ("favorite__del") : ("favorite__add"));
  515.                     echo "\" data-pid=\"";
  516.                     echo twig_escape_filter($this->envtwig_get_attribute($this->env$this->source$context["Product"], "id", [], "any"falsefalsefalse245), "html"nulltrue);
  517.                     echo "\">
  518.                         <input type=\"button\" class=\"favorite-btn\" value=\"";
  519.                     // line 246
  520.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("見たい授業"), "html"nulltrue);
  521.                     echo "\" />
  522.                       </div>
  523.                       <a href=\"";
  524.                     // line 248
  525.                     echo twig_escape_filter($this->env, (isset($context["anker"]) || array_key_exists("anker"$context) ? $context["anker"] : (function () { throw new RuntimeError('Variable "anker" does not exist.'248$this->source); })()), "html"nulltrue);
  526.                     echo "\" class=\"mod_movie-btn-watch\">
  527.                         <span>";
  528.                     // line 249
  529.                     echo twig_escape_filter($this->env$this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("見る"), "html"nulltrue);
  530.                     echo "</span>
  531.                       </a>
  532.                     </div>
  533.                   </div>
  534.                 </div>
  535.               </li>
  536.             ";
  537.                 }
  538.                 $_parent $context['_parent'];
  539.                 unset($context['_seq'], $context['_iterated'], $context['_key'], $context['Product'], $context['_parent'], $context['loop']);
  540.                 $context array_intersect_key($context$_parent) + $_parent;
  541.                 // line 257
  542.                 echo "
  543.             </ul>
  544.           </div>
  545.         </div>
  546.             ";
  547.                 // line 265
  548.                 echo "            ";
  549.                 // line 289
  550.                 echo "
  551.                             ";
  552.                 // line 325
  553.                 echo "
  554.                         ";
  555.                 // line 344
  556.                 echo "
  557.             <div class=\"ec-pagerRole\">
  558.                 ";
  559.                 // line 347
  560.                 $this->loadTemplate("pager.twig""Product/list.twig"347)->display(twig_array_merge($context, ["pages" => twig_get_attribute($this->env$this->source, (isset($context["pagination"]) || array_key_exists("pagination"$context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.'347$this->source); })()), "paginationData", [], "any"falsefalsefalse347)]));
  561.                 // line 348
  562.                 echo "            </div>
  563.         ";
  564.             }
  565.             // line 350
  566.             echo "    ";
  567.         }
  568.         
  569.         $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);
  570.         
  571.         $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);
  572.     }
  573.     public function getTemplateName()
  574.     {
  575.         return "Product/list.twig";
  576.     }
  577.     public function isTraitable()
  578.     {
  579.         return false;
  580.     }
  581.     public function getDebugInfo()
  582.     {
  583.         return array (  610 => 350,  606 => 348,  604 => 347,  599 => 344,  596 => 325,  593 => 289,  591 => 265,  582 => 257,  568 => 249,  564 => 248,  559 => 246,  553 => 245,  549 => 243,  543 => 242,  537 => 239,  534 => 238,  531 => 237,  527 => 236,  524 => 235,  522 => 234,  516 => 233,  511 => 230,  505 => 228,  499 => 226,  497 => 225,  493 => 224,  487 => 220,  484 => 219,  481 => 218,  478 => 217,  475 => 216,  472 => 215,  469 => 214,  466 => 213,  464 => 212,  461 => 211,  457 => 210,  451 => 206,  449 => 205,  445 => 203,  438 => 199,  434 => 198,  430 => 196,  428 => 195,  425 => 194,  419 => 192,  413 => 190,  411 => 189,  405 => 185,  400 => 183,  397 => 182,  394 => 181,  391 => 180,  370 => 177,  364 => 176,  361 => 175,  343 => 174,  341 => 173,  334 => 171,  329 => 168,  317 => 166,  313 => 165,  308 => 164,  304 => 163,  300 => 161,  294 => 158,  291 => 157,  288 => 156,  278 => 155,  260 => 146,  240 => 129,  220 => 112,  207 => 102,  184 => 82,  174 => 75,  143 => 47,  115 => 21,  101 => 20,  93 => 19,  76 => 18,  72 => 16,  62 => 15,  51 => 11,  49 => 13,  36 => 11,);
  584.     }
  585.     public function getSourceContext()
  586.     {
  587.         return new Source("{#
  588. This file is part of EC-CUBE
  589. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  590. http://www.ec-cube.co.jp/
  591. For the full copyright and license information, please view the LICENSE
  592. file that was distributed with this source code.
  593. #}
  594. {% extends 'default_frame.twig' %}
  595. {% set body_class = 'product_page' %}
  596. {% block javascript %}
  597.     <script>
  598.         eccube.productsClassCategories = {
  599.             {% for Product in pagination %}
  600.             \"{{ Product.id|escape('js') }}\": {{ class_categories_as_json(Product)|raw }}{% if loop.last == false %}, {% endif %}
  601.             {% endfor %}
  602.         };
  603.         \$(function() {
  604.             // 表示件数を変更
  605.             \$('.disp-number').change(function() {
  606.                 var dispNumber = \$(this).val();
  607.                 \$('#disp_number').val(dispNumber);
  608.                 \$('#pageno').val(1);
  609.                 \$(\"#form1\").submit();
  610.             });
  611.             // 並び順を変更
  612.             \$('.order-by').change(function() {
  613.                 var orderBy = \$(this).val();
  614.                 \$('#orderby').val(orderBy);
  615.                 \$('#pageno').val(1);
  616.                 \$(\"#form1\").submit();
  617.             });
  618.             \$('.add-cart').on('click', function(e) {
  619.                 var \$form = \$(this).parents('li').find('form');
  620.                 // 個数フォームのチェック
  621.                 var \$quantity = \$form.parent().find('.quantity');
  622.                 if (\$quantity.val() < 1) {
  623.                     \$quantity[0].setCustomValidity('{{ '1以上で入力してください。'|trans }}');
  624.                     setTimeout(function() {
  625.                         loadingOverlay('hide');
  626.                     }, 100);
  627.                     return true;
  628.                 } else {
  629.                     \$quantity[0].setCustomValidity('');
  630.                 }
  631.                 e.preventDefault();
  632.                 \$.ajax({
  633.                     url: \$form.attr('action'),
  634.                     type: \$form.attr('method'),
  635.                     data: \$form.serialize(),
  636.                     dataType: 'json',
  637.                     beforeSend: function(xhr, settings) {
  638.                         // Buttonを無効にする
  639.                         \$('.add-cart').prop('disabled', true);
  640.                     }
  641.                 }).done(function(data) {
  642.                     // レスポンス内のメッセージをalertで表示
  643.                     \$.each(data.messages, function() {
  644.                         \$('#ec-modal-header').html(this);
  645.                     });
  646.                     \$('.ec-modal').show()
  647.                     // カートブロックを更新する
  648.                     \$.ajax({
  649.                         url: '{{ url('block_cart') }}',
  650.                         type: 'GET',
  651.                         dataType: 'html'
  652.                     }).done(function(html) {
  653.                         \$('.ec-headerRole__cart').html(html);
  654.                     });
  655.                 }).fail(function(data) {
  656.                     alert('{{ 'カートへの追加に失敗しました。'|trans }}');
  657.                 }).always(function(data) {
  658.                     // Buttonを有効にする
  659.                     \$('.add-cart').prop('disabled', false);
  660.                 });
  661.             });
  662.         });
  663.         \$('.ec-modal-wrap').on('click', function(e) {
  664.             // モーダル内の処理は外側にバブリングさせない
  665.             e.stopPropagation();
  666.         });
  667.         \$('.ec-modal-overlay, .ec-modal, .ec-modal-close, .ec-inlineBtn--cancel').on('click', function() {
  668.             \$('.ec-modal').hide()
  669.         });
  670.     \$(function(){
  671.       \$('.mod_movie-btn-favorite').on('click', function(){
  672.         let loginStatus = {{ is_granted('ROLE_USER') ? 'true' : 'false' }};
  673.         if(loginStatus){
  674.           let pid = \$(this).data('pid');
  675.           let tmpbtn = \$(this);
  676.           // tmpbtn.children(\"input\").prop('disabled', true);
  677.           tmpbtn.children(\"input\").attr('disabled', true);
  678.           if(tmpbtn.hasClass('favorite__del')){
  679.             \$.ajax({
  680.               url: \"{{ url('homepage') }}refine_delete_favorite\",
  681.               type: 'GET',
  682.               dataType: 'text',
  683.               data: {id: pid}
  684.             })
  685.             .then(
  686.               function (data) {
  687.                   tmpbtn.removeClass('favorite__del');
  688.                   tmpbtn.addClass('favorite__add');
  689.               },
  690.               function () {
  691.                   alert(\"処理に失敗しました。お手数ですが再度実行してください\");
  692.             });
  693.           } else {
  694.               \$.ajax({
  695.                 url: \"{{ url('homepage') }}products/add_favorite/\"+pid,
  696.                 type: 'POST',
  697.               })
  698.               .then(
  699.                 function (data) {
  700.                     tmpbtn.removeClass('favorite__add');
  701.                     tmpbtn.addClass('favorite__del');
  702.                 },
  703.                 function () {
  704.                   alert(\"処理に失敗しました。お手数ですが再度実行してください\");
  705.               });
  706.           }
  707.           // tmpbtn.children(\"input\").prop('disabled', false);
  708.           tmpbtn.children(\"input\").attr('disabled', false);
  709.         } else {
  710.            location.href= \"{{ url('mypage_delivery') }}\";
  711.         }
  712.       });
  713.     });
  714. </script>
  715. {% endblock %}
  716. {% block main %}
  717.     {% if search_form.category_id.vars.errors|length > 0 %}
  718.         <div class=\"ec-searchnavRole content__inner\">
  719.             <p class=\"errormsg text-danger\">{{ 'ご指定のカテゴリは存在しません'|trans }}</p>
  720.         </div>
  721.     {% else %}
  722.         <div class=\"ec-searchnavRole content__inner\">
  723.             <form name=\"form1\" id=\"form1\" method=\"get\" action=\"?\">
  724.                 {% for item in search_form %}
  725.                     <input type=\"hidden\" id=\"{{ item.vars.id }}\"
  726.                            name=\"{{ item.vars.full_name }}\"
  727.                            {% if item.vars.value is not empty %}value=\"{{ item.vars.value }}\" {% endif %}/>
  728.                 {% endfor %}
  729.             </form>
  730.             <div class=\"ec-searchnavRole__topicpath\">
  731.                 <ol class=\"ec-topicpath\">
  732.                     <li class=\"ec-topicpath__item\"><a href=\"{{ url('product_list') }}\">{{ '全て'|trans }}</a>
  733.                     </li>
  734.                     {% if Category is not null %}
  735.                         {% for Path in Category.path %}
  736.                             <li class=\"ec-topicpath__divider\">|</li>
  737.                             <li class=\"ec-topicpath__item{% if loop.last %}--active{% endif %}\"><a
  738.                                         href=\"{{ url('product_list') }}?category_id={{ Path.id }}\">{{ Path.name }}</a>
  739.                             </li>
  740.                         {% endfor %}
  741.                     {% endif %}
  742.                     {% if search_form.vars.value and search_form.vars.value.name %}
  743.                         <li class=\"ec-topicpath__divider\">|</li>
  744.                         <li class=\"ec-topicpath__item\">{{ '「%name%」の検索結果'|trans({ '%name%': search_form.vars.value.name }) }}</li>
  745.                     {% endif %}
  746.                 </ol>
  747.             </div>
  748.             <div class=\"ec-searchnavRole__infos\">
  749.                 <div class=\"ec-searchnavRole__counter\">
  750.                     {% if pagination.totalItemCount > 0 %}
  751.                         {{ '<span class=\"ec-font-bold\">%count%件</span><span>の動画が見つかりました</span>'|trans({ '%count%': pagination.totalItemCount })|raw }}
  752.                     {% else %}
  753.                         <span>{{ 'お探しの動画は見つかりませんでした'|trans }}</span>
  754.                     {% endif %}
  755.                 </div>
  756.                 {% if pagination.totalItemCount > 0 %}
  757.                     <div class=\"ec-searchnavRole__actions\">
  758.                         <div class=\"ec-select\">
  759.                             {{ form_widget(disp_number_form, {'id': '', 'attr': {'class': 'disp-number'}}) }}
  760.                             {{ form_widget(order_by_form, {'id': '', 'attr': {'class': 'order-by'}}) }}
  761.                         </div>
  762.                     </div>
  763.                 {% endif %}
  764.             </div>
  765.         </div>
  766.         {% if pagination.totalItemCount > 0 %}
  767.         <div class=\"page__content\">
  768.           <div class=\"page__inner\">
  769.             <ul class=\"mod_movie-list\">
  770.             {% for Product in pagination %}
  771.               {% set isFavorite = app.user is not empty and repository('Eccube\\\\Entity\\\\CustomerFavoriteProduct').isFavorite(app.user, Product) %}
  772.               {# 配信コンテンツ #}
  773.               {% set productClass = Product.ProductClasses.get(0) %}
  774.               {% set videoContent = productClass.ProductClassContent.get(0) %}
  775.               {% if videoContent is not empty %}
  776.                 {% set anker = url('video/{product_id}/content/{content_id}', {'product_id': Product.id, 'content_id': videoContent.Content.id}) %}
  777.               {% else %}
  778.                 {% set anker = url('product_detail', {'id': Product.id}) %}
  779.               {% endif %}
  780.               <li class=\"mod_movie-item\">
  781.                 <div class=\"mod_movie-item-inner\">
  782.                   <div class=\"mod_movie-img-wrapper\">
  783.                     <a href=\"{{ anker }}\">
  784.                       {% if Product.ProductImage is defined and Product.ProductImage is not empty %}
  785.                         <img src=\"{{ asset(Product.ProductImage.get(0), 'save_image') }}\" alt=\"Product.name\" />
  786.                       {% else %}
  787.                         <img src=\"{{ asset(''|no_image_product, 'save_image') }}\" alt=\"\" />
  788.                       {% endif %}
  789.                     </a>
  790.                   </div>
  791.                   <div class=\"mod_movie-text-wrapper\">
  792.                     <a href=\"{{ anker }}\" class=\"mod_movie-title\">{{ Product.name|trans }}</a>
  793.                     {% set searchWords = Product.search_word|split(',') %}
  794.                     <ul class=\"mod_movie-keyword-list\">
  795.                       {% for word in searchWords %}
  796.                         {% if word is not empty %}
  797.                         <li class=\"mod_movie-keyword-item\">
  798.                           <span>{{ word|trans }}</span>
  799.                         </li>
  800.                         {% endif %}
  801.                       {% endfor %}
  802.                     </ul>
  803.                     <div class=\"mod_movie-btn-wrapper\">
  804.                       <div class=\"mod_movie-btn-favorite {{ (isFavorite == 1) ? 'favorite__del': 'favorite__add' }}\" data-pid=\"{{ Product.id }}\">
  805.                         <input type=\"button\" class=\"favorite-btn\" value=\"{{ '見たい授業'|trans }}\" />
  806.                       </div>
  807.                       <a href=\"{{ anker }}\" class=\"mod_movie-btn-watch\">
  808.                         <span>{{ '見る'|trans }}</span>
  809.                       </a>
  810.                     </div>
  811.                   </div>
  812.                 </div>
  813.               </li>
  814.             {% endfor %}
  815.             </ul>
  816.           </div>
  817.         </div>
  818.             {# 元々のソース #}
  819.             {# <div class=\"ec-shelfRole\">
  820.                 <ul class=\"ec-shelfGrid\">
  821.                     {% for Product in pagination %}
  822.                         <li class=\"ec-shelfGrid__item\">
  823.                             <a href=\"{{ url('product_detail', {'id': Product.id}) }}\">
  824.                                 <p class=\"ec-shelfGrid__item-image\">
  825.                                     <img src=\"{{ asset(Product.main_list_image|no_image_product, 'save_image') }}\" alt=\"{{ Product.name }}\" loading=\"lazy\">
  826.                                 </p>
  827.                                 <p>{{ Product.name }}</p>
  828.                                 {% if Product.description_list %}
  829.                                     <p>{{ Product.description_list|raw|nl2br }}</p>
  830.                                 {% endif %}
  831.                                 <p class=\"price02-default\">
  832.                                     {% if Product.hasProductClass %}
  833.                                         {% if Product.getPrice02Min == Product.getPrice02Max %}
  834.                                             {{ Product.getPrice02IncTaxMin|price }}
  835.                                         {% else %}
  836.                                             {{ Product.getPrice02IncTaxMin|price }} ~ {{ Product.getPrice02IncTaxMax|price }}
  837.                                         {% endif %}
  838.                                     {% else %}
  839.                                         {{ Product.getPrice02IncTaxMin|price }}
  840.                                     {% endif %}
  841.                                 </p>
  842.                             </a> #}
  843.                             {# {% if Product.stock_find %}
  844.                                 {% set form = forms[Product.id] %}
  845.                                 <form name=\"form{{ Product.id }}\" id=\"productForm{{ Product.id }}\" action=\"{{ url('product_add_cart', {id:Product.id}) }}\" method=\"post\">
  846.                                     <div class=\"ec-productRole__actions\">
  847.                                         {% if form.classcategory_id1 is defined %}
  848.                                             <div class=\"ec-select\">
  849.                                                 {{ form_widget(form.classcategory_id1) }}
  850.                                                 {{ form_errors(form.classcategory_id1) }}
  851.                                             </div>
  852.                                             {% if form.classcategory_id2 is defined %}
  853.                                                 <div class=\"ec-select\">
  854.                                                     {{ form_widget(form.classcategory_id2) }}
  855.                                                     {{ form_errors(form.classcategory_id2) }}
  856.                                                 </div>
  857.                                             {% endif %}
  858.                                         {% endif %}
  859.                                         <div class=\"ec-numberInput\"><span>{{ '数量'|trans }}</span>
  860.                                             {{ form_widget(form.quantity, {'attr': {'class': 'quantity'}}) }}
  861.                                             {{ form_errors(form.quantity) }}
  862.                                         </div>
  863.                                     </div>
  864.                                     {{ form_rest(form) }}
  865.                                 </form>
  866.                                 <div class=\"ec-productRole__btn\">
  867.                                     <button type=\"submit\" class=\"ec-blockBtn--action add-cart\" data-cartid=\"{{ Product.id }}\" form=\"productForm{{ Product.id }}\">
  868.                                         {{ 'カートに入れる'|trans }}
  869.                                     </button>
  870.                                 </div>
  871.                             {% else %}
  872.                                 <div class=\"ec-productRole__btn\">
  873.                                     <button type=\"button\" class=\"ec-blockBtn--action\" disabled=\"disabled\">
  874.                                         {{ 'ただいま品切れ中です。'|trans }}
  875.                                     </button>
  876.                                 </div>
  877.                             {% endif %} #}
  878.                         {# </li>
  879.                     {% endfor %}
  880.                 </ul>
  881.             </div>
  882.             <div class=\"ec-modal\">
  883.                 <div class=\"ec-modal-overlay\">
  884.                     <div class=\"ec-modal-wrap\">
  885.                         <span class=\"ec-modal-close\"><span class=\"ec-icon\"><img src=\"{{ asset('assets/icon/cross-dark.svg') }}\" alt=\"\"/></span></span>
  886.                         <div id=\"ec-modal-header\" class=\"text-center\">{{ 'カートに追加しました。'|trans }}</div>
  887.                         <div class=\"ec-modal-box\">
  888.                             <div class=\"ec-role\">
  889.                                 <span class=\"ec-inlineBtn--cancel\">{{ 'お買い物を続ける'|trans }}</span>
  890.                                 <a href=\"{{ url('cart') }}\" class=\"ec-inlineBtn--action\">{{ 'カートへ進む'|trans }}</a>
  891.                             </div>
  892.                         </div>
  893.                     </div>
  894.                 </div>
  895.             </div> #}
  896.             <div class=\"ec-pagerRole\">
  897.                 {% include \"pager.twig\" with {'pages': pagination.paginationData} %}
  898.             </div>
  899.         {% endif %}
  900.     {% endif %}
  901. {% endblock %}""Product/list.twig""/home/mahjontv1326/kmj-tv.jp/public_html/dev.kmj-tv.jp/app/template/default/Product/list.twig");
  902.     }
  903. }