Jump to content
xt:Commerce Community Forum

Link generieren aus Artikelnummer oder Produktname für Map


daron

Recommended Posts

Hallo...

Hat jemand Durchblick wie ich auf der Product_info Seite einen Text, der einer Artikelnummer oder dem namen enthält einen Link zum Produkt bekomme...

So wie es bei den Cross-Sellingartikeln ist nur das diese automatisch generiert werden ...???

Vieleicht noch mal erklärt was ich eigentlich machen möchte....!

Es gibt eine Explosionszeichnung auf der verschiedene Artikel abgebildet sind, die auch im Shop vorhanden sind.

Diese sind mit einem Map hinterlegt welche einem Link folgen sollen auf das Produkt.

Da es aber über 500 und mehr Kleinstartikel sind, wollte ich das gern automatisch generieren lassen.

Vielleicht sowas wie $makelink=AF223401

Daraus entsteht dann dieser auf das Produkt als Link...

http://www.domain.de/product_info.php?info=p56_-ECCO-Au-szlig-enfilt-2234-250l-.html

Für jegliche hilfe würde ich mich freuen

CU und scho ma danke....

Daron

Link to comment
Share on other sites

Hi...

Genauso isses....Die Artikelbeschreibung beinhaltet das Map mit der Variable $makelink=Artikelnummer als Link ("<a href="$makelink=EH122101">Image oder text</a>").

Die Map-bilder werden aus dem Orden images/map/xxx.jpg geholt!

Welchen Denkansatz hättest Du denn für mich zum nachvollziehen????

Kannste wirklich helfen???

CU Daron

Link to comment
Share on other sites

sowas kann man mit dem PHP-Befehl str_replace lösen. So genau kenn ich mich aber nicht damit aus. Ein Beispiel deshalb aus der Praxis:

$string = str_replace(":-)", "<img src=\"".$smiley_folder."smile.gif\" alt=\":-)\" width=\"15\" height=\"15\" />", $string);

Müsste in deinem Fall dann etwa so aussehen:

$string = str_replace(".$Artikelnummer.", "http://www.meinedomain.de/...."".$artikelnummer."".html", $string);

Aber frag mich nicht, wie du den Beschreibungstext eines Artikels mit der genannten Funktion parst.

Idealerweise sollte das dann auch umgekehrt sein - wenn du den Artikel editierst, steht im Quellcode wieder nur <a href="$makelink=EH122101">

Link to comment
Share on other sites

str_replace ist schon gut!

Iin der product_info.php musst Du (an geeigneter Position) einfügen:

$product->data['products_description'] = str_replace ( '$makelink=EH122101', xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link(<hier Product_id erzeugen>)), $product->data['products_description'] );

Dann hast Du einen vernünftigen Link, und in der Produktbeschreibung ändert sich nichts. Das betrifft alles nur die Ausgabe.

Ben

Link to comment
Share on other sites

Hi....

Sieht schon super aus....

Aber bin noch völlig planlos zwecks einbindung und Artikel Id generieren...!

Nehme an es kommt in die ...

include/module/product_info.php ???

Und wie generiere ich nun zu diesen Code die ID zum Produkt???

Denke da an eine Datenbankabfrage und eine zuweisung von der products_id zum products_model... oder so..!

Muss man das auch schon in der product_info.php machen und wie sieht sowas aus???

Ich glaube wenn ich mit eurer hilfe das hier gebacken bekomme, dann wird es bestimmt auch besser mit dem Verständnis für diese Scriptsprache....

Nun...ihr seit ja auch schon länger dabei...

Man will es nicht glauben....,aber in Zen-Cart habe ich sogar Module weiterentwickelt und selbst veröffentlicht..!

Da war aber auch ein wirklich hilfreiches Developer Modul dabei das einem die Suche ein wenig erleichtert hatte.

Denke schon dass das alles schon vorhanden ist und irgendwo steht, doch dafür sind wir neulinge wirklich auf euch angewiesen...

Soll auch gleich ma nen Dank an alle hilfreich unterstützende Personen gerichtet sein die mir als "Azubi" zu diesem System zur Hilfe stehen und hoffentlich noch lange stehen werden.

Freue mich schon , wenn ich selbst irgendwann mal helfen kann...!!!

Bis dahin ...

Danke für die Aufnahme in euren Kreis der Sponsoren und Weiterentwickler, Bastler und solche die es werden wollen...

Schmalz.....

Musste ich mal los werden...

CU

Daron

Link to comment
Share on other sites

Vielleicht kann mir ja mal jemand dieses Script so anpassen dass es für XTC kompatibel wir...-Bitte...Bitte

Hiermit stelle ich meinen Source zur Verfügung, der aber nur für OSC geschrieben wurde!

Vielleicht hilft er ja einigen - und besonders mir - weiter...

Hiermit werden Produke innerhalb von Beschreibungen automatisch verlinkt!

Verlinkt werden nur Produkte innerhalb derselben Hauptgruppe...


<?php
function getCategories($srcPath)
{
$categories_query = tep_db_query("SELECT categories_id FROM categories WHERE parent_id = '$srcPath'");
while($categories = tep_db_fetch_array($categories_query))
{
getCategories($categories['categories_id']);
$GLOBALS['categories'][] = $categories['categories_id'];
}
}

list($rPath) = split('_', $cPath);
$categories = array();
getCategories($rPath);
$categories = join(', ', $categories);

if ($categories != '')
{
$products_query = tep_db_query("select pd.products_id, pd.products_name from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c WHERE p2c.categories_id IN ($categories) AND pd.products_id = p2c.products_id AND pd.language_id = '" . $languages_id . "'");
while($product_data = tep_db_fetch_array($products_query))
{
if ($products_name != $product_data["products_name"])
{
$catPath = tep_get_product_path($product_data["products_id"]);
$product_info['products_description'] = str_replace($product_data["products_name"], '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($catPath ? 'cPath=' . $catPath . '&' : '') . 'products_id=' . $product_data["products_id"]) . '" style="color: #900000; font-weight: bold;">' . $product_data["products_name"] . '</a>', $product_info['products_description']);
}
}
}

echo stripslashes($product_info['products_description']);
?>
[/PHP]

Help me!!! Damit es weiter gehen kann....

CU

Daron

Link to comment
Share on other sites

Versuch's mal hiermit:


// Alle Vorkommen auslesen
$positions = array();
$offset = 0;
while(($pos = strpos($product->data['products_description'], '$makelink=', $offset))!== FALSE) {
$positions[] = $pos+11;
$offset = $pos + strlen($needle);
}
// neue Beschreibung erzeugen
$linked_description = '';
$old_here = 0;
foreach ( $position as $here ) {
$model = substr( $product->data['products_description'], $here, 8); // position ungetestet, vielleicht um eine Stelle falsch
$query = xtc_db_query("SELECT products_id FROM ". TABLE_PRODUCTS. " WHERE products_model ='". $model. "'");
$link_product = xtc_db_fetch_array($query);
$linked_description .= substr( $product->data['products_description'], $old_here, $here - 1 - $old_here ) . xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($link_product['products_id']));
$old_here = $here+18;
}
// und noch den letzten Rest anhängen
$linked_description += substr( $product->data['products_description'], $old_here, strlen($product->data['products_description'] - 1 - $old_here );
// zurück zuweisen
$product->data['products_description'] = $linked_description;
// fertig
[/php]

Aber bitte: erst verstehen, dann einsetzen...

P.S.: Wahrscheinlich stimmen die Positionen noch nicht genau, habe das Script eben schnell zusammengehackt und NICHT getestet.

Ben

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...