app/Plugin/TabaCMS2/Resource/template/default/post.twig line 1

Open in your IDE?
  1. {#
  2. Copyright (C) SPREAD WORKS Inc. All Rights Reserved.
  3. For the full copyright and license information, please view the LICENSE
  4. file that was distributed with this source code.
  5. #}
  6. {% extends 'default_frame.twig' %}
  7. {% set body_class = 'tabacms_post_page' %}
  8. {# 投稿データの取得 #}
  9. {% set post = TabaCMSPost() %}
  10. {% set share_title = post.getTitle|raw|nl2br %}
  11. {% set breadcrumbs = [{'name': 'ニュース', 'route': '/news'}, {'name': post.getTitle|raw|nl2br}] %}
  12. {% if post.getThumbnail is not empty %}
  13.     {% set share_media = asset(post.getThumbnail,'save_image') %}
  14. {% else %}
  15.     {% set share_media = asset('assets/img/top-page/FV.webp') %}
  16. {% endif %}
  17. {% block javascript %}
  18.     {{ TabaCMSAsset('script.js','script')|raw }}
  19.     {{ post.getScript|raw }}
  20.     <script>
  21.         {# MEMO: post.getURLというメソッドによりtabaのプレビュー画面でエラーが発生していた為、jsからURLを渡す形に修正 #}
  22.         const share_title = "{{share_title}}";
  23.         const share_media = "{{share_media}}"
  24.         const share_url = window.location.href;
  25.         $(function () {
  26.             $(document).ready(function () {
  27.                 var sns = ["line", "twitter", "facebook", "pinterest"];
  28.                 $.each(sns,function(index,value){
  29.                     switch (value){
  30.                         case "line" :
  31.                             var line_share_url = `https://social-plugins.line.me/lineit/share?url=${share_url}%0a${share_title}`;
  32.                             $('.'+ value ).attr('href', line_share_url);
  33.                             break;
  34.                         case "twitter" :
  35.                             var twitter_share_url = `https://twitter.com/intent/tweet?url=${share_url}&text=${share_title}`;
  36.                             $('.'+ value ).attr('href', twitter_share_url);
  37.                             break;
  38.                         case "facebook" :
  39.                             var facebook_share_url = `https://www.facebook.com/sharer/sharer.php?u=${share_url}`;
  40.                             $('.'+ value ).attr('href', facebook_share_url);
  41.                             break;
  42.                         case "pinterest" :
  43.                             var pinterest_share_url = `http://pinterest.com/pin/create/button/?url=${share_url}&media=${share_media}&description=${share_title}`;
  44.                             $('.'+ value ).attr('href', pinterest_share_url);
  45.                             break;
  46.                     }
  47.                 })
  48.             });
  49.              $(document).ready(function () {
  50.                 $('#js-button-copy').attr('data-url',share_url);
  51.              });
  52.             $('#js-button-copy').click(function () {
  53.                 const url = $(this).data('url');
  54.                 navigator.clipboard.writeText(url);
  55.             });
  56.         });
  57.     </script>
  58. {% endblock javascript %}
  59. {% block stylesheet %}
  60.     {{ TabaCMSAsset('style.css','style')|raw }}
  61. {% endblock stylesheet %}
  62. {% block main %}
  63.     <section class="pt-20 md:pt-16">
  64.         {{ include('Block/breadcrumb.twig') }}
  65.     </section>
  66.     <section class="px-6">
  67.         <div class="mx-auto w-full max-w-[37rem]">
  68.             <div class="mx-auto grid gap-6 leading-normal">
  69.                 <h1 class="text-2xl font-light tracking-widest md:text-xl">
  70.                     <span class="sr-only">タイトル:</span>
  71.                     {{ post.getTitle|raw|nl2br }}
  72.                 </h1>
  73.                 <time datetime="{{ post.getPublicDate|date('Y-m-d') }}" class="text-right text-sm tracking-wider">
  74.                     <span class="sr-only">投稿日:</span>
  75.                     {{ post.getPublicDate|date('Y.m.d') }}
  76.                 </time>
  77.             </div>
  78.             {% if post.getThumbnail is not empty %}
  79.                 <div class="mt-16 md:mt-10">
  80.                     <img src="{{ asset(post.getThumbnail,'save_image') }}" class="w-full">
  81.                 </div>
  82.             {% endif %}
  83.             <div class="mt-20 pb-[7.5rem] md:text-sm md:mt-6">
  84.                 {{ post.getBody|raw|nl2br }}
  85.             </div>
  86.         </div>
  87.     </section>
  88.     <section class="px-6 pb-[7.5rem] md:pb-20">
  89.         <h2 class="font-medium leading-normal text-center text-base">記事をシェアする</h2>
  90.         <div class="flex justify-center items-center mt-6 gap-6">
  91.             <a class="line" rel="nofollow noopener" target="_blank">
  92.                 <img src="{{asset('assets/icon/LINE_LOGO.svg')}}" alt="LINEのロゴ" class="w-[2.1rem]">
  93.             </a>
  94.             <a class="twitter" rel="nofollow noopener" target="_blank">
  95.                 <img src="{{asset('assets/icon/X_LOGO.svg')}}" alt="Xのロゴ" class="w-7">
  96.             </a>
  97.             <a class="facebook" rel="nofollow noopener" target="_blank">
  98.                 <img src="{{asset('assets/icon/FB_LOGO.svg')}}" alt="FaceBookのロゴ" class="w-[2.1rem]">
  99.             </a>
  100.             <a class="pinterest" rel="nofollow noopener" target="_blank">
  101.                 <img src="{{asset('assets/icon/Pinterest_LOGO.svg')}}" alt="Pinterestのロゴ" class="w-[2.1rem]">
  102.             </a>
  103.             <button id="js-button-copy" class="relative">
  104.                 <img src="{{asset('assets/icon/share.svg')}}" alt="コピー" class="w-[2.1rem]">
  105.             </button>
  106.         </div>
  107.         <a href="/news" class="md:w-full w-80 border grid place-items-center h-11 mx-auto mt-20 text-sm rounded-[0.18rem] hover">
  108.             ニュース一覧に戻る
  109.         </a>
  110.     </section>
  111. {% endblock %}