Zum Inhalt springen

Bitte um Hilfe: Link aus Datenbankabfrage

Erstellt am 30. Juli 2008 · 2 Antworten · letzte Antwort am 30. Juli 2008

Tags: PHP, Frage

abandon ·

Hallo, ich brauche wieder einmal eure Hilfe.

Ich muß eine Extension, welche nicht von mir geschrieben wurde, erweitern und bin leider nicht gerade eine Leuchte in PHP. Ziel muß ein Link sein, damit ich zu einer Listenansicht (ist als Template vorhanden!) der Produkte komme, welche in der Datenbankabfrage definiert wurden.

Ich poste hier mal die von mir geschriebene function, bei der ich nicht weiterkomme:

function printAmonnResult() {
	  
	         // Template einlesen
                $template = $this->cObj->fileResource("EXT:myextension_shop/pi1/myextension_shop_template.tmpl");
		$template = $this->cObj->getSubPart($template, "###MYEXTENSION_SORTIMENT_TEMPLATE###");
		$markerArray = array();
	  
	        // Produkte aus der DB ermitteln
		$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*',
  			    					       'tx_myextension_artikelstamm',
  								       'artikintlief_cd=334750 AND artikstatgr_cd=440 OR artikstatgr_cd=480',
  								       '',
  								       '',
  								       '');
                echo $GLOBALS['TYPO3_DB']->sql_error();
                
                // Fuer nicht eingeloggte Benutzer Preise ausblenden		
		if (!$GLOBALS["TSFE"]->loginUser)	{
			$template = $this->cObj->substituteSubpart($template, '###PREIS_ANZEIGE###', "");
		}
	  
	        // Produkte anzeigen
		$prods_template = $this->cObj->getSubPart($template, "###ARTIKEL_LISTENELEMENT###");
		$prods_subpart = "";
		$prodsMarkerArray = array();
		
		while ($ass = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
			$prodsMarkerArray['###ARTIKEL_NR###'] = $ass['artik_cd'];
			$prodsMarkerArray['###ARTIKEL_BEZEICHNUNG###'] = $ass['artik_txt'];
			$prodsMarkerArray['###ARTIKEL_EINHEIT###'] = $this->translateUnitCode($ass['veh_cd']);
			$prodsMarkerArray['###ARTIKEL_PREIS###'] = $ass['vkpr'];
			$prodsMarkerArray['###ARTIKEL_DETAIL_LINK###'] = $this->pi_getPageLink($GLOBALS["TSFE"]->id).'&'.$this->prefixId.'[product]='.$ass['artik_cd'];
			
			$prods_subpart .= $this->cObj->substituteMarkerArray($prods_template, $prodsMarkerArray);
		}
				
		// Marker ersetzen
		$template = $this->cObj->substituteMarkerArray($template, $markerArray);
		$template = $this->cObj->substituteSubpart($template, '###ARTIKEL_LISTENELEMENT###', $prods_subpart);

		// Ausgabe
		$content .= $template;
				
		return $content;
		
	        //$amonnlink = 
	  
	  
        }

Ich bitte um Hilfe jeglicher Art, da ich momentan überhaupt nicht weiter komme.

liebe Grüße
Peter

abandon ·

Hallo,

ich muß eine Grafik verlinken, beispielsweise in der Form www.url.com/index.php?id=149&tx_myextension_pi1[ammon]. Der Link soll auf den unten angegebenen Subpart des Templates "myextension_shop_template.tmpl" gehen.

Dazu müsste ich die Datenbankabfrage in eine Linkform bringen, untenstehend poste ich noch den relevanten Teil des Subparts vom eingelesenen Template:

<!--###MYEXTENSION_SORTIMENT_TEMPLATE### -->
<table width="440" border="0" cellspacing="1" cellpadding="0" bgcolor="#ffffff">
	<tr>
		<td width="440" height="" align="left" colspan="6">
			
			<br>
			W&auml;hlen Sie einen Artikel aus der Liste aus, um in die Artikel-Details zu gelangen. Sie erhalten dann Informationen &uuml;ber Artikelbezeichnung, Verkaufseinheiten, Technische Informationen, Sicherheitsdaten, Artikel- und Anwendungsfotos.<br><br>

		</td>

	</tr>

	<tr>
		<td width="90" height="20" align="center"><b>Artikel-Nr.</b></td>
		<td width="200" height="20" align="left"><b>Artikel-Bezeichnung</b></td>
		<td width="55" height="20" align="center"><b>VE</b></td>

		<!--###PREIS_ANZEIGE###-->		
		<td width="115" height="20" align="center" colspan="3"><b>Preis/Einheit</b></td>
		<!--###PREIS_ANZEIGE### end-->		
	</tr>
	
<!--###ARTIKEL_LISTENELEMENT### -->
	<tr>
		<td width="90" height="20" align="center" bgcolor="E5E6E9">###ARTIKEL_NR###</td>
		<td width="200" height="20" align="left" bgcolor="E5E6E9"><a href="###ARTIKEL_DETAIL_LINK###">###ARTIKEL_BEZEICHNUNG###</a></td>
		<td width="55"  height="20" align="center" bgcolor="E5E6E9">###ARTIKEL_EINHEIT###</td>

		<!--###PREIS_ANZEIGE###-->		
		<td width="25"  height="20" align="center" bgcolor="E5E6E9">EUR</td>		
		<td width="35"  height="20" align="right"  bgcolor="E5E6E9"><b>###ARTIKEL_PREIS###</b>&nbsp;</td>
		<td width="55"  height="20" align="center" bgcolor="E5E6E9">###ARTIKEL_EINHEIT###</td>		
		<!--###PREIS_ANZEIGE### end-->		
	</tr>
<!--###ARTIKEL_LISTENELEMENT### end-->	

</table>
<!--###MYEXTENSION_SORTIMENT_TEMPLATE### end-->

Es wurde für diese Extension schon eine Suchfunktion gebaut, mit einem Input-Feld, wo ein Search-String ebenfalls auf einen ähnlichen Subpart verweist, nur funktioniert das über ein Formular.

lg peter