2017-04-25 25 views
-1

私はAWS S3経由でWebアプリケーションにコンテンツをアップロードしています。同じカルーセルに画像と動画の両方を表示できません。Grails/HTML:同じカルーセルで画像とビデオを表示

このコードは私のカルーセルナビゲータであり、実際に表示されている実際のフルサイズの画像です。

<div class="content"> 

      <div class="slider-nav"> 
       <g:each in="${event.contents}" var="content"> 
        <img height = "50px" class = "event-content" src = "${content.url}" /> 
       </g:each> 
      </div> 

      <div class="content-holder"> 
       <div class="slider-for"> 

        <g:each in="${event.contents}" var="content"> 
         <img class = "event-content" src = "${content.url}" /> 
        </g:each> 
       </div> 
      </div> 
     </div 

ご覧のとおり、私のコンテンツテーブルを反復して、イメージsrcをそこにあるURLに設定しています。同じカルーセルで画像と動画の両方を使いたいのですが、その方法を理解できません。

何か助けや代替案がありがとうございます。

+0

あなたは上記の機能を果たしていますが、ビデオをミックスに追加したいのですか?ビデオはどこから来ますか? –

+0

はい、動画はAWSの同じバケットから送られてきます。バケツサブディレクトリは各イベントごとに作成され、それぞれのイベントにはすべてのコンテンツがそこに格納されます –

+0

したがって、基本的には、if文があるかどうかを確認するif文が必要です。または

答えて

0

次のようになります。 mp4に追加のビデオフォーマットを表示する場合は、g:ifテストを変更する必要があります。

<g:each in="${event.contents}" var="content"> 
     <g:if test="${content.url.endsWith('.mp4')}"> 
      <video controls> 
       <source src="${content.url}" type="video/mp4"> 
      </video> 
     </g:if> 
     <g:else> 
      <img src="${content.url}" /> 
     </g:else> 
     <br> 
    </g:each> 
+0

パーフェクト。ありがとうございました –

関連する問題