public static function getListingDisplayParams($listing_id) { if (!$listing_id) { return null; } $storeId = md5(__METHOD__ . "::{$listing_id}"); if (!isset(self::$cache[$storeId])) { $params = JUDirectoryHelper::getParams(null, $listing_id); $global_display_params = $params->get('display_params'); $global_listing_display_object = isset($global_display_params->listing) ? $global_display_params->listing : array(); $global_listing_display_params = new JRegistry($global_listing_display_object); $listingObj = JUDirectoryHelper::getListingById($listing_id); $listing_params = $listingObj->params; if ($listing_params) { $listing_params = json_decode($listing_params); $listing_display_params = $listing_params->display_params; if ($listing_display_params) { $global_listing_display_params = JUDirectoryFrontHelperField::mergeFieldOptions($global_listing_display_params->toObject(), $listing_display_params); unset($listing_display_params->fields); foreach ($listing_display_params as $option => $value) { if ($value == '-2') { unset($listing_display_params->{$option}); } } $global_listing_display_params->loadObject($listing_display_params); } } self::$cache[$storeId] = $global_listing_display_params; } return self::$cache[$storeId]; }