Zum Inhalt springen

Wrap um macina_searchbox weg!

Erstellt am 24. März 2006 · 5 Antworten · letzte Antwort am 20. Juli 2006

Tags: Suche, Frage

ONeill ·

Hallo,

ich möchte den wrap "<div class="tx-macinasearchbox-pi1">".

Um diese Extensiuon wegbekommen. Im Objektbrowser kann man dies nicht einstellen, wo kann ich das ändern, dass er den wrap weglassen soll?

Danke sehr

bpamaxl ·

Auch Hi!
ich wollte auch den <div>-Wrap entfernen, da ich die Suche in eine Listennavigation packen möchte. Allerdings zerhaut der DIV das ganze layout.
In der Datei EXT:macina_searchbox/ext_typoscript_editorcfg.txt lässte sich ein Eintrag für das Wrap in z. B.

plugin.tx_macinasearchbox_pi1.CSS_editor.exampleWrap = <hr /><strong>Plugin: "tx_macinasearchbox_pi1"</strong><hr /><li class="suchen"> | </li>

ändern. Allerdings tut sich im Quelltext gar nix. Weiterhin wird der DIV als Wrap angelegt. Ein Versuch mit

plugin.tx_macinasearchbox_pi1.wrap = <li class="suchen" | </li>

blieb ebenso erfolglos. Allerdings wird im ExtensionManager angezeigt, dass die Dateien geändert wurden. Wird der Eintrag evtl. noch woanders stehen und zu ändern sein?
Danke und Grüße
Max

just2b ·

Hallo Max,

such mal in der _pi1.php Datei nach pi_wrapInBaseClass und entfern den Aufruf

georg

bpamaxl ·

Hallo Georg,

erstmal vielen Dank für Deine Hilfe! allerdings wird so die komplette Searchbox nicht ausgegeben.

Anstattdessen habe ich in der Datei .../typo3/sysext/cms/tslib/class.tslib_pibase.php die Funktion pi_wrapInBaseClass kopiert, in pi_wrapInBaseLi umbenannt und den Code für die Funktion wie folgt geändert:

/**
	 * Wraps the input string in a <li> tag with the class attribute set to the prefixId.
	 * All content returned from your plugins should be returned through this function so all content from your plugin is encapsulated in a <div>-tag nicely identifying the content of your plugin.
	 *
	 * @param	string		HTML content to wrap in the li-tags with the "main class" of the plugin
	 * @return	string		HTML content wrapped, ready to return to the parent object.
	 */
	function pi_wrapInBaseLi($str)	{
		$content = '<li class="'.str_replace('_','-',$this-">prefixId).'">
		'.$str.'
	</li>
	';

		if(!$GLOBALS['TSFE']->config['config']['disablePrefixComment'])	{
			$content = '


	<!--

		BEGIN: Content of extension "'.$this->extKey.'", plugin "'.$this->prefixId.'"

	-->
	'.$content.'
	<!-- END: Content of extension "'.$this->extKey.'", plugin "'.$this->prefixId.'" -->

	';
		}

		return $content;
	}

Dann habe ich einfach in der .../ext/macina_searchbox/pi1/class.tx_macinasearchbox_pi1.php
den Funktionsaufruf geändert in:

// buid content from template + array		
		$content = $this->cObj->substituteMarkerArrayCached($template, array(), $markerArray , array());		
		return $this->pi_wrapInBaseLi($content);
	}

Je nachdem, wie man die class.tslib_pibase.php ändert, können also auch andere Tags als Wrap eingesetzt werden.

Beim klonen der Funktion unbedingt darauf achten, dass das Endflag richtig gesetzt wird, sonst geht gar nix mehr!

[/b]

bpamaxl ·

Nachtrag: Möchte man wie ich das Suchfeld neben die horizontale Navigation mit in eine <ul> packen, so muss man das <form>-Element auch mit style="display:inline" versehen, da sonst eine Zeilenumbruch gemacht wird!