Hallo zusammen,

das ist mein erster Post hier und ich hoffe ich mache dabei alles richtig! :-)

Ich habe schon des öfteren TL verwendet und bin aber nun an meine Grenzen gestoßen.
In meiner aktuellen Installation verwende ich die Version 2.7.3.
Das System ist mit mehreren Domains (momentan 2) in einer Installation aufgebaut. Funktioniert soweit auch super.
Um Verlinkungen zwischen Domain B zu Domain A möglich zu machen, habe ich folgende Hook eingesetzt um absolute Links zu generieren:
Code:
class Hooks
{
 
	/**
	 * Current object instance (Singleton)
	 * @var object
	 */
	protected static $objInstance;
 
 
	/**
	 * Prevent direct instantiation (Singleton)
	 */
	protected function __construct() {}
 
 
	/**
	 * Prevent cloning of the object (Singleton)
	 */
	final private function __clone() {}
 
 
	/**
	 * Return the current object instance (Singleton)
	 * @return object
	 */
	public static function getInstance()
	{	
		if (!is_object(self::$objInstance))
		{
			self::$objInstance = new Hooks();
		}
 
		return self::$objInstance;
	}
 
	/**
	 * Retrieves the closest DNS value for a given page by inspecting the parents until reaching the top.
	 * @param int
	 * @return string
	 */
	private function getPageDns($pageId) {
		$objPage = Database::getInstance()->prepare("SELECT id, pid, dns FROM tl_page WHERE id=?")
			->execute($pageId);
 
		if ($objPage->next())
		{
			if (strlen($objPage->dns) > 0)
				return $objPage->dns;
			if ($objPage->pid != 0)
				return $this->getPageDns($objPage->pid, $maxDepth, $depth + 1);
		}
 
		return false;
	}	
 
	/**
	 * Hook implementation for generateFrontendUrl. Makes the URL use the actual
	 * limited domain name instead of the base name to allow cross domain links.
	 * 
	 * @return string
	 * @param Database_Result $objPage
	 * @param string $strParams
	 * @param string $strUrl
	 */
	public function generateFrontendUrl($objPage, $strParams, $strUrl)
	{
		$dns = $this->getPageDns($objPage['id']);
		
		 
		if ($dns AND $objPage->pid != 20) 
		{
			$strUrl = (Environment::getInstance()->ssl ? 'https://' : 'http://') . $dns . Environment::getInstance()->path . '/' . $strUrl;	
		}
 
		return $strUrl;
	}


}
Hat wunderbar funktioniert!

In Domain A habe ich aber das Modul catalog und catalog_ext laufen.
Und hier kommen wir nun auch zum eigentlichen Problem:
In der Ausgabe des Katalogmoduls wird der Domain-Name nun doppelt eingesetzt. Sprich http://www.domain.de/http://www.doma...eitenname/etc/...

Ich bin schier am verzweifeln und weiß nicht wo ich ansetzen soll.
Schalte ich die Hook ab, funktionieren die Links von Domain B zu Domain A nicht mehr. Da diese Links dann wieder relativ gesetzt werden.

Lass ich die Hook drin, funktioniert catalog_ext auf Domain A nicht mehr richtig, wegen doppelter Ausgabe des Domain-Namens.

Ich habe jetzt einige Zeit im Code rumgespielt und gemacht und getan, komme aber auf keinen grünen Zweig!

Wie schaffe ich es beides unter einen Hut zu bekommen?
Gibt es da überhaupt eine Möglichkeit?

Vielen Dank im Voraus für euer Bemühen!

Grüße
anneli