示例#1
0
   <div class='cards condensed cards-list'>
     <?php 
 $total = 0;
 ?>
     <?php 
 foreach ($products as $productID => $product) {
     ?>
       <?php 
     $productLink = helper::createLink('product', 'view', "id={$productID}", "category={$product->categories[$product->category]->alias}&name={$product->alias}");
     ?>
       <div class='card'>
         <div class='table-layout'>
           <div class='table-cell thumbnail-cell'>
             <?php 
     if (empty($product->image)) {
         $productName = helper::substr($product->name, 10, '...');
         $imgColor = $product->id * 57 % 360;
         echo "<div class='media-holder'><div class='media-placeholder' style='background-color: hsl({$imgColor}, 60%, 80%); color: hsl({$imgColor}, 80%, 30%);' data-id='{$product->id}'>{$productName}</div></div>";
     } else {
         echo html::image($product->image->primary->middleURL, "title='{$product->name}' alt='{$product->name}'");
     }
     ?>
           </div>
           <div class='table-cell'>
             <table class='table table-layout table-condensed'>
               <tbody>
                 <tr>
                   <td colspan='2'>
                     <strong><?php 
     echo html::a($productLink, $product->name);
     ?>
示例#2
0
          </div>
          <div class='item-content'>
            <?php 
    if (!empty($page->image)) {
        ?>
            <div class='media pull-right'>
              <?php 
        $title = $page->image->primary->title ? $page->image->primary->title : $page->title;
        echo html::a($url, html::image($page->image->primary->smallURL, "title='{$title}' class='thumbnail'"));
        ?>
            </div>
            <?php 
    }
    ?>
            <div class='text text-muted'><?php 
    echo helper::substr($page->summary, 120, '...');
    ?>
</div>
          </div>
          <div class='item-footer text-muted'>
            <span><i class='icon-eye-open'></i> <?php 
    echo $page->views;
    ?>
</span> &nbsp; 
            <span><i class='icon-time'></i> <?php 
    echo substr($page->addedDate, 0, 10);
    ?>
</span>
          </div>
        </div>
        <?php 
示例#3
0
 /**
  * Process article list.
  * 
  * @param  array    $articles 
  * @param  string   $type 
  * @access public
  * @return array
  */
 public function processArticleList($articles, $type)
 {
     $categories = $this->dao->select('t2.id, t2.name, t2.abbr, t2.alias, t1.id AS article')->from(TABLE_RELATION)->alias('t1')->leftJoin(TABLE_CATEGORY)->alias('t2')->on('t1.category = t2.id')->where('t2.type')->eq($type)->fetchGroup('article', 'id');
     /* Assign categories to it's article. */
     foreach ($articles as $article) {
         $article->categories = isset($categories[$article->id]) ? $categories[$article->id] : array();
     }
     foreach ($articles as $article) {
         $article->category = current($article->categories);
     }
     /* Get images for these articles. */
     $images = $this->loadModel('file')->getByObject($type, array_keys($articles), $isImage = true);
     /* Assign images to it's article. */
     foreach ($articles as $article) {
         if (empty($images[$article->id])) {
             continue;
         }
         $article->image = new stdclass();
         $article->image->list = $images[$article->id];
         $article->image->primary = $article->image->list[0];
     }
     /* Assign summary to it's article. */
     foreach ($articles as $article) {
         $article->summary = empty($article->summary) ? helper::substr(strip_tags($article->content), 200, '...') : $article->summary;
     }
     /* Assign comments to it's article. */
     $articleIdList = array_keys($articles);
     $comments = $this->dao->select("objectID, count(*) as count")->from(TABLE_MESSAGE)->where('type')->eq('comment')->andWhere('objectType')->eq('article')->andWhere('objectID')->in($articleIdList)->andWhere('status')->eq(1)->groupBy('objectID')->fetchPairs('objectID', 'count');
     foreach ($articles as $article) {
         $article->comments = isset($comments[$article->id]) ? $comments[$article->id] : 0;
     }
     return $articles;
 }
示例#4
0
 /** 
  * Get product list.
  * 
  * @param  array   $categories 
  * @param  string  $orderBy 
  * @param  object  $pager 
  * @access public
  * @return array
  */
 public function getList($categories, $orderBy, $pager = null)
 {
     $searchWord = $this->get->searchWord;
     $categoryID = $this->get->categoryID;
     /* Get products(use groupBy to distinct products).  */
     $productsIdList = array();
     if (!empty($categories)) {
         $productList = $this->dao->select('id')->from(TABLE_RELATION)->where('type')->eq('product')->andWhere('category')->in($categories)->fetchAll('id');
         $productsIdList = array_keys($productList);
     }
     $products = $this->dao->select('*')->from(TABLE_PRODUCT)->where('1 = 1')->beginIF(!empty($categories))->andWhere('id')->in($productsIdList)->fi()->beginIF(RUN_MODE == 'front')->andWhere('status')->eq('normal')->fi()->beginIF($searchWord)->andWhere('name', true)->like("%{$searchWord}%")->orWhere('brand')->like("%{$searchWord}%")->orWhere('model')->like("%{$searchWord}%")->orWhere('color')->like("%{$searchWord}%")->orWhere('origin')->like("%{$searchWord}%")->orWhere('keywords')->like("%{$searchWord}%")->orWhere('`desc`')->like("%{$searchWord}%")->orWhere('content')->like("%{$searchWord}%")->markRight(1)->fi()->orderBy($orderBy)->page($pager)->fetchAll('id');
     if (!$products) {
         return array();
     }
     /* Get categories for these products. */
     $categories = $this->dao->select('t2.id, t2.name, t2.abbr, t2.alias, t2.unsaleable, t1.id AS product')->from(TABLE_RELATION)->alias('t1')->leftJoin(TABLE_CATEGORY)->alias('t2')->on('t1.category = t2.id')->where('t2.type')->eq('product')->andWhere('t1.id')->in(array_keys($products))->fetchGroup('product', 'id');
     /* Assign categories to it's product. */
     foreach ($products as $product) {
         $product->categories = !empty($categories[$product->id]) ? $categories[$product->id] : array();
         $product->category = current($product->categories);
     }
     foreach ($products as $product) {
         foreach ($product->categories as $category) {
             if ($category->unsaleable and !$product->unsaleable) {
                 $product->unsaleable = 1;
             }
         }
     }
     /* Get images for these products. */
     $images = $this->loadModel('file')->getByObject('product', array_keys($products), $isImage = true);
     /* Assign images to it's product. */
     foreach ($products as $product) {
         if (empty($images[$product->id])) {
             continue;
         }
         $product->image = new stdclass();
         if (isset($images[$product->id])) {
             $product->image->list = $images[$product->id];
         }
         if (!empty($product->image->list)) {
             $product->image->primary = $product->image->list[0];
         }
         $product->desc = empty($product->desc) ? helper::substr(strip_tags($product->content), 250) : $product->desc;
     }
     return $products;
 }
        <strong><?php 
    echo html::a($url, $product->name);
    ?>
</strong>
        <span class='text-latin'>
        <?php 
    if (!$product->unsaleable) {
        if ($product->promotion != 0) {
            echo "&nbsp;&nbsp;<strong class='text-danger'>" . zget($this->lang->product->currencySymbols, $this->config->product->currency) . $product->promotion . '</strong>';
            if ($product->price != 0) {
                echo "&nbsp;&nbsp;<del class='text-muted'>" . zget($this->lang->product->currencySymbols, $this->config->product->currency) . $product->price . '</del>';
            }
        } else {
            if ($product->price != 0) {
                echo "<span class='text-muted'> " . zget($this->lang->product->currencySymbols, $this->config->product->currency) . "</span> ";
                echo "<strong class='text-important'>" . $product->price . '</strong>&nbsp;&nbsp;';
            }
        }
    }
    ?>
        </span>
      </div>
      <div class='card-content text-muted'><?php 
    echo helper::substr(strip_tags($product->desc), 80);
    ?>
</div>
    </div>
  </div>
</div>
<?php 
}
示例#6
0
if (commonModel::isAvailable('forum')) {
    ?>
    <div class='col-xs-6'>
      <div class='panel'>
        <div class='panel-heading'><strong><?php 
    echo $lang->admin->thread;
    ?>
</strong></div>
        <div class='panel-body'>
          <table class='table table-hover table-condensed table-borderless'>
          <?php 
    foreach ($threads as $thread) {
        ?>
 
          <?php 
        $threadTitle = $thread->author . '&nbsp&nbsp' . helper::substr($thread->title, 25);
        ?>
            <tr>
              <td><?php 
        echo html::a(commonmodel::createFrontLink('thread', 'view', "threadid={$thread->id}"), $threadTitle, "target='_blank'");
        ?>
</td>
              <td><?php 
        echo substr($thread->addedDate, -8);
        ?>
</td>
            </tr>
          <?php 
    }
    ?>
          <?php 
示例#7
0
 /** 
  * Get product list.
  * 
  * @param  array   $categories 
  * @param  string  $orderBy 
  * @param  object  $pager 
  * @access public
  * @return array
  */
 public function getList($categories, $orderBy, $pager = null)
 {
     /* Get products(use groupBy to distinct products).  */
     $products = $this->dao->select('t1.*, t2.category')->from(TABLE_PRODUCT)->alias('t1')->leftJoin(TABLE_RELATION)->alias('t2')->on('t1.id = t2.id')->where('1 = 1')->beginIF($categories)->andWhere('t2.category')->in($categories)->fi()->beginIF(RUN_MODE == 'front')->andWhere('t1.status')->eq('normal')->fi()->groupBy('t2.id')->orderBy($orderBy)->page($pager)->fetchAll('id');
     if (!$products) {
         return array();
     }
     /* Get categories for these products. */
     $categories = $this->dao->select('t2.id, t2.name, t2.alias, t1.id AS product')->from(TABLE_RELATION)->alias('t1')->leftJoin(TABLE_CATEGORY)->alias('t2')->on('t1.category = t2.id')->where('t2.type')->eq('product')->fetchGroup('product', 'id');
     /* Assign categories to it's product. */
     foreach ($products as $product) {
         $product->categories = !empty($categories[$product->id]) ? $categories[$product->id] : array();
     }
     foreach ($products as $product) {
         $product->category = current($product->categories);
     }
     /* Get images for these products. */
     $images = $this->loadModel('file')->getByObject('product', array_keys($products), $isImage = true);
     /* Assign images to it's product. */
     foreach ($products as $product) {
         if (empty($images[$product->id])) {
             continue;
         }
         $product->image = new stdclass();
         if (isset($images[$product->id])) {
             $product->image->list = $images[$product->id];
         }
         if (!empty($product->image->list)) {
             $product->image->primary = $product->image->list[0];
         }
     }
     /* Assign desc to it's product. */
     foreach ($products as $product) {
         $product->desc = empty($product->desc) ? helper::substr(strip_tags($product->content), 250) : $product->desc;
     }
     /* Assign comments to it's product. */
     $productList = array_keys($products);
     $comments = $this->dao->select("objectID, count(*) as count")->from(TABLE_MESSAGE)->where('type')->eq('comment')->andWhere('objectType')->eq('product')->andWhere('objectID')->in($productList)->andWhere('status')->eq(1)->groupBy('objectID')->fetchPairs('objectID', 'count');
     foreach ($products as $product) {
         $product->comments = isset($comments[$product->id]) ? $comments[$product->id] : 0;
     }
     return $products;
 }
示例#8
0
 /** 
  * Get article list.
  * 
  * @param  string  $type 
  * @param  array   $categories 
  * @param  string  $orderBy 
  * @param  object  $pager 
  * @access public
  * @return array
  */
 public function getList($type, $categories, $orderBy, $pager = null)
 {
     if ($type == 'page') {
         $articles = $this->dao->select('*')->from(TABLE_ARTICLE)->where('type')->eq('page')->orderBy('id_desc')->page($pager)->fetchAll('id');
     } else {
         /* Get articles(use groupBy to distinct articles).  */
         $articles = $this->dao->select('t1.*, t2.category')->from(TABLE_ARTICLE)->alias('t1')->leftJoin(TABLE_RELATION)->alias('t2')->on('t1.id = t2.id')->where('t1.type')->eq($type)->beginIf(defined('RUN_MODE') and RUN_MODE == 'front')->andWhere('t1.addedDate')->le(helper::now())->andWhere('t1.status')->eq('normal')->fi()->beginIf($categories)->andWhere('t2.category')->in($categories)->fi()->groupBy('t2.id')->orderBy($orderBy)->page($pager)->fetchAll('id');
     }
     if (!$articles) {
         return array();
     }
     /* Get categories for these articles. */
     $categories = $this->dao->select('t2.id, t2.name, t2.alias, t1.id AS article')->from(TABLE_RELATION)->alias('t1')->leftJoin(TABLE_CATEGORY)->alias('t2')->on('t1.category = t2.id')->where('t2.type')->eq($type)->beginIf($categories)->andWhere('t1.category')->in($categories)->fi()->fetchGroup('article', 'id');
     /* Assign categories to it's article. */
     foreach ($articles as $article) {
         $article->categories = isset($categories[$article->id]) ? $categories[$article->id] : array();
     }
     /* Get images for these articles. */
     $images = $this->loadModel('file')->getByObject($type, array_keys($articles), $isImage = true);
     /* Assign images to it's article. */
     foreach ($articles as $article) {
         if (empty($images[$article->id])) {
             continue;
         }
         $article->image = new stdclass();
         $article->image->list = $images[$article->id];
         $article->image->primary = $article->image->list[0];
     }
     /* Assign summary to it's article. */
     foreach ($articles as $article) {
         $article->summary = empty($article->summary) ? helper::substr(strip_tags($article->content), 200, '...') : $article->summary;
     }
     /* Assign comments to it's article. */
     $articleIdList = array_keys($articles);
     $comments = $this->dao->select("objectID, count(*) as count")->from(TABLE_MESSAGE)->where('type')->eq('comment')->andWhere('objectType')->eq('article')->andWhere('objectID')->in($articleIdList)->andWhere('status')->eq(1)->groupBy('objectID')->fetchPairs('objectID', 'count');
     foreach ($articles as $article) {
         $article->comments = isset($comments[$article->id]) ? $comments[$article->id] : 0;
     }
     return $articles;
 }
示例#9
0
          </div>
          <div class='item-content'>
            <?php 
    if (!empty($article->image)) {
        ?>
            <div class='media pull-right'>
              <?php 
        $title = $article->image->primary->title ? $article->image->primary->title : $article->title;
        echo html::a($url, html::image($article->image->primary->smallURL, "title='{$title}' class='thumbnail'"));
        ?>
            </div>
            <?php 
    }
    ?>
            <div class='text text-muted'><?php 
    echo helper::substr($article->summary, 120, '...');
    ?>
</div>
          </div>
          <div class='item-footer text-muted'>
            <span><i class='icon-eye-open'></i> <?php 
    echo $article->views;
    ?>
</span> &nbsp; 
            <span><i class='icon-time'></i> <?php 
    echo substr($article->createdDate, 0, 10);
    ?>
</span>
          </div>
        </div>
        <?php 
</div>
      <div class='card-heading'>
        <strong><?php 
    echo $product->name;
    ?>
</strong>
        <span class='text-latin'>
        <?php 
    if ($product->promotion != 0) {
        echo "&nbsp;&nbsp;<strong class='text-danger'>" . $this->config->product->currency . $product->promotion . '</strong>';
        if ($product->price != 0) {
            echo "&nbsp;&nbsp;<del class='text-muted'>" . $this->config->product->currency . $product->price . '</del>';
        }
    } else {
        if ($product->price != 0) {
            echo "<span class='text-muted'> {$this->config->product->currency}</span> ";
            echo "<strong class='text-important'>" . $product->price . '</strong>&nbsp;&nbsp;';
        }
    }
    ?>
        </span>
      </div>
      <div class='card-content text-muted'><?php 
    echo helper::substr($product->desc, 80);
    ?>
</div>
    </a>
  </div>
</div>
<?php 
}
示例#11
0
<div class='col-xs-10' id='articles'>
  <section>
    <?php 
foreach ($articles as $article) {
    ?>
    <?php 
    $url = inlink('view', "id={$article->id}");
    ?>
    <div class="card">
      <h4 class='card-heading'><?php 
    echo html::a($url, $article->title);
    ?>
</h4>
      <div class='card-content text-muted'>
        <?php 
    echo helper::substr(strip_tags($article->content), 200, '...');
    ?>
        <?php 
    if (!empty($article->image)) {
        ?>
          <div class='media pull-right'>
            <?php 
        $title = $article->image->primary->title ? $article->image->primary->title : $article->title;
        echo html::a($url, html::image($article->image->primary->smallURL, "title='{$title}' class='thumbnail'"));
        ?>
          </div>
        <?php 
    }
    ?>
      </div>
      <div class="card-actions text-muted">
示例#12
0
文件: model.php 项目: leowh/colla
 /** 
  * Get article list.
  * 
  * @param  string    $type 
  * @param  array     $categories 
  * @param  string    $mode 
  * @param  string    $param 
  * @param  string    $orderBy 
  * @param  object    $pager 
  * @access public
  * @return array
  */
 public function getList($type, $categories, $mode = null, $param = null, $orderBy, $pager = null)
 {
     $moduleQuery = $type . 'Query';
     if ($this->session->{$moduleQuery} == false) {
         $this->session->set($moduleQuery, ' 1 = 1');
     }
     ${$moduleQuery} = $this->loadModel('search', 'sys')->replaceDynamic($this->session->{$moduleQuery});
     /* Get articles(use groupBy to distinct articles).  */
     $articles = $this->dao->select('t1.*, t2.category')->from(TABLE_ARTICLE)->alias('t1')->leftJoin(TABLE_RELATION)->alias('t2')->on('t1.id = t2.id')->where('t1.type')->eq($type)->beginIf($categories)->andWhere('t2.category')->in($categories)->fi()->beginIf($mode == 'query' and $param)->andWhere($param)->fi()->beginIf($mode == 'bysearch')->andWhere(${$moduleQuery})->fi()->groupBy('t2.id')->orderBy($orderBy)->page($pager)->fetchAll('id');
     if (!$articles) {
         return array();
     }
     /* Get categories for these articles. */
     $categories = $this->dao->select('t2.id, t2.name, t2.alias, t1.id AS article')->from(TABLE_RELATION)->alias('t1')->leftJoin(TABLE_CATEGORY)->alias('t2')->on('t1.category = t2.id')->where('t2.type')->eq($type)->beginIf($categories)->andWhere('t1.category')->in($categories)->fi()->fetchGroup('article', 'id');
     /* Assign categories to it's article. */
     foreach ($articles as $article) {
         $article->categories = isset($categories[$article->id]) ? $categories[$article->id] : array();
     }
     /* Get images for these articles. */
     $images = $this->loadModel('file')->getByObject($type, array_keys($articles), $isImage = true);
     /* Assign images to it's article. */
     foreach ($articles as $article) {
         if (empty($images[$article->id])) {
             continue;
         }
         $article->image = new stdclass();
         $article->image->list = $images[$article->id];
         $article->image->primary = $article->image->list[0];
     }
     /* Assign summary to it's article. */
     foreach ($articles as $article) {
         $article->summary = empty($article->summary) ? helper::substr(strip_tags($article->content), 200, '...') : $article->summary;
     }
     return $articles;
 }