コード例 #1
0
ファイル: TemplatingManager.php プロジェクト: xinghao/shs
 /**
  * Set listing detail to view (basic info, keywords, categories etc)
  * @param $listing_id
  * @param $view
  * @exception Exception
  */
 protected static function _setListingDataToView($listing_id, $view)
 {
     // Valid listing id.
     Listings::validateListingId($listing_id);
     // get listing detail.
     $listingsTable = new Listings();
     $listing = $listingsTable->getListing($listing_id);
     if (empty($listing)) {
         throw new Exception('[TemplatingManager][setListingDataToView] :Can not get listing info for listing[listing_id = ' . $listing_id . ']');
     }
     foreach ($listing->toArray() as $key => $value) {
         $keyname = 'listing_' . $key;
         $view->{$keyname} = $value;
         //echo $keyname . "\n";
     }
     $bdcs = $listingsTable->getListingBDCs($listing_id);
     $categories = '';
     if (!empty($bdcs)) {
         foreach ($bdcs as $bdc) {
             if (empty($categories)) {
                 $categories .= $bdc->getName();
             } else {
                 $categories .= ', ' . $bdc->getName();
             }
         }
     }
     $view->listing_categories = $categories;
     // Get current listing's keywords.
     $keywordsTable = new ListingKeywords();
     $keywords = $keywordsTable->getListingKeywords($listing_id);
     $keywordsString = '';
     if (!empty($keywords)) {
         foreach ($keywords as $keyword) {
             if (empty($keywordsString)) {
                 $keywordsString .= $keyword;
             } else {
                 $keywordsString .= ', ' . $keyword;
             }
         }
     }
     $view->listing_keywords = $keywordsString;
     return $view;
 }