重新订购Show Feed XML

时间:2017-05-19 13:05:09

标签: php html xml

我有以下代码在我的网站上显示剧院节目源,来自外部票务公司。

 <!-- PULL IN SHOW FEED  -->

  <div class="container">
      <div class="col-md-12 whats-on-feed">



       <!-- PULL IN SHOW FEED  -->

  <div class="container">
      <div class="col-md-12 whats-on-feed">



        <?php
            $xml = simplexml_load_file('https://tickets.leicesterymca.co.uk/feed/shows');

            if(isset($wp_query->query_vars['month'])) {
              $month = $wp_query->query_vars['month'];
              $fromDate = date("Y"). '-'. $month;
              $shows = $xml->xpath("//*[contains(ActiveFrom,'$fromDate')]");
            }else if(isset($wp_query->query_vars['genre'])) {
              $genre = str_replace("-", " ", $wp_query->query_vars['genre']);

              if($genre != 'all'){
                $shows = $xml->xpath("//*[Genres/Genre/@Name='$genre']");
              }else{
                $shows = $xml;
              }

            }else{
              $shows = $xml;
            }
        ?>

        <div class="block-grid-xs-1 block-grid-sm-2 block-grid-md-3 block-grid-lg-4 show-list">
        <?php
            $i = 1;

            foreach ($shows as $Show) {

              $activeFrom=date_create($Show->ActiveFrom);
              $activeTo=date_create($Show->ActiveTo);

              if(strlen($Show->ShowId) > 0){
        ?>
        <div>
         <div class="box">
          <div class="caption">
           <h3><?php echo $Show->Name ?></h3>
           <p><?php echo $activeFrom->format('D d M Y'); ?></p>
           <div class="row">
             <div class="col-xs-6 col-sm-6 col-md-6">
               <a href='/show?showid=<?php echo $Show->ShowId ?>' class='btn btn-success btn-sm btn-clear-white'>More Info</a>
             </div>
             <div class="col-xs-6 col-sm-6 col-md-6">
               <a href='/buy?showid=<?php echo $Show->ShowId ?>' class='btn btn-success btn-sm btn-clear-white'>Buy Tickets</a>
             </div>
           </div>
          </div>
          <div class='image-holder' style='background-image: url("<?php echo $Show->SmallImageUrl ?>");' /></div>
         </div>
        </div>
        <?php $i++; }} ?>
      </div>
  </div>

这来自票务公司从其系统输出的XML Feed。

目前它们按显示ID的顺序显示,我认为这是默认设置,但我需要它们按日期顺序显示 - 日期xml Feed中的数据节点为:ActiveFrom。

我见过这个解决方案:

<xsl:sort select="ActiveFrom"  order="ascending" />

但我真的不知道A:这是正确的方法,还是B:我会在哪里添加它与我的代码相关?有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

您可以尝试此代码

{{1}}

已编辑

{{1}}