Example #1
0
	/**
	 * Event listener method
	 *
	 * @param Enlight_Event_EventArgs $args
	 */
	public static function onAssemble(Enlight_Event_EventArgs $args)
	{
        return;

		$query = $args->getParams();
		
		if(!empty($query['module']) && $query['module']!='frontend') {
			return;
		}
		if(!empty($query['title'])) {
			$title = $query['title'];
		} elseif (!empty($query['sViewport']) && $query['sViewport']=='detail') {
			$title = Shopware()->Modules()->Articles()->sGetArticleNameByArticleId($query['sArticle']);
		} elseif (!empty($query['sViewport']) && $query['sViewport']=='cat') {
			$sql = 'SELECT description FROM s_categories WHERE id=?';
			$title = Shopware()->Db()->fetchOne($sql, array($query['sCategory']));
		}
		unset($query['title'], $query['module']);
		
		if(!empty($query['sAction']) && $query['sAction']=='index') {
			unset($query['sAction']);
		}
		if(!empty($query['sViewport']) && $query['sViewport']=='index') {
			unset($query['sViewport']);
		}
		
		$result = '';
		
		if(!empty($query['sViewport'])) {
			switch ($query['sViewport']) {
				case 'custom':
					$result .= 'unternehmen/';
					$parts = array('sViewport', 'sCustom');
					break;
				case 'detail':
					$parts = array('sViewport', 'sArticle', 'sCategory');
					break;
				case 'cat':
					$parts = array('sViewport', 'sCategory', 'sPage');
					break;
				case 'campaign':
					$parts = array('sViewport', 'sCampaign');
					break;
				case 'search':
					if(!empty($query['sSearchMode']) && $query['sSearchMode'] == 'supplier') {
						$result .= 'Supplier-'.self::sCleanupPath($query['sSearchText']);
						$parts = array('sSearch');
						unset($query['sSearchText'], $query['sSearchMode'], $query['sViewport']);
					}
					break;
				default:
					break;
			}
		}
		
		if(!empty($parts)) {
			if(!empty($title)) {
				$result .= self::sCleanupPath($title);
			}
			foreach ($parts as $key) {
				if(!empty($query[$key])) {
					$result .= '_'.$query[$key];
					unset($query[$key]);
				}
			}
			$result .= '.html';
			if(!empty($query)) {
				$result .= '?'.http_build_query($query, '', '&');
			}
		} elseif(!empty($query)) {
			$result .= Shopware()->Config()->BaseFile;
			$result .= '/';
			if(!empty($query))
			{
				$result .= http_build_query($query, '', '/');
				$result = str_replace('=', ',', $result);
			}
		}
		return $result;
	}