/** * 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; }