Пример #1
0
	public static function getDocumentLayout($docId)
	{
		$storeId = md5(__METHOD__ . "::" . $docId);
		if (!isset(self::$cache[$storeId]))
		{
			$db    = JFactory::getDbo();
			$query = $db->getQuery(true);
			$query->select('layout');
			$query->from('#__judownload_documents');
			$query->where('id =' . $docId);
			$db->setQuery($query);
			$layout = $db->loadResult();

			
			if ($layout == -2)
			{
				$params = JUDownloadHelper::getParams(null, $docId);
				$layout = $params->get('layout_document', '_:default');
			}
			
			elseif ($layout == -1)
			{
				$parentId = (int) JUDownloadFrontHelperCategory::getMainCategoryId($docId);
				
				if ($parentId == 0)
				{
					$params = JUDownloadHelper::getParams(null, $docId);
					$layout = $params->get('layout_document', '_:default');
				}
				
				else
				{
					$layout = JUDownloadFrontHelperDocument::getDocumentLayoutFromCategory($parentId);
				}
			}
			else
			{
				$layout = trim($layout);
			}

			self::$cache[$storeId] = $layout;
		}

		return self::$cache[$storeId];
	}