MEGATEC Posted March 26, 2007 Report Share Posted March 26, 2007 Hi, Ich hab folgendes Problem: Hab im Content Manager ne Seite mit dem Namen Links eingefügt. Nun will ich diese Seite unterteilen in verschiedene Rubriken. Anker und Co sind alle da , aber wenn ich auf einen draufklicke, springt es nicht auf den gesetzten Anker , sondern geht immer zur Startseite des Shops... Was mach ich falsch ?? Folgenden html Code hab ich im FCKeditor stehen : ( die hr noshade dienen nur als Platzhalter... ) <p><a name="Anker_FOREN">FOREN</a><br> <a href="#Anker_TECHNIK"><b>TECHNIK</b></a> | <a href="#Anker_TUV"><b>TÜV</b></a> | <a href="#Anker_CLUBS"><b>CLUBS</b></a></p> <hr noshade width=50% size=1 align=left> <hr noshade width=50% size=5 align=left> <hr noshade width=40% size=4 align=left> <hr noshade width=30% size=3 align=left> <hr noshade width=20% size=2 align=left> <hr noshade width=10% size=1 align=left> <p><a name="Anker_TECHNIK">TECHNIK</a><br> <a href="#Anker_FOREN"><b>FOREN</b></a> | <a href="#Anker_TUV"><b>TÜV</b></a> | <a href="#Anker_CLUBS"><b>CLUBS</b></a></p> <hr noshade width=50% size=1 align=left> <hr noshade width=50% size=5 align=left> <hr noshade width=40% size=4 align=left> <hr noshade width=30% size=3 align=left> <hr noshade width=20% size=2 align=left> <hr noshade width=10% size=1 align=left> <p><a name="Anker_TUV">TÜV</a><br> <a href="#Anker_FOREN"><b>FOREN</b></a> | <a href="#Anker_TECHNIK"><b>TECHNIK</b></a> | <a href="#Anker_CLUBS"><b>CLUBS</b></a></p> <hr noshade width=50% size=1 align=left> <hr noshade width=50% size=5 align=left> <hr noshade width=40% size=4 align=left> <hr noshade width=30% size=3 align=left> <hr noshade width=20% size=2 align=left> <hr noshade width=10% size=1 align=left> <p><a name="Anker_CLUBS">CLUBS</a><br> <a href="#Anker_FOREN"><b>FOREN</b></a> | <a href="#Anker_TECHNIK"><b>TECHNIK</b></a> | <a href="#Anker_TUV"><b>TÜV</b></a></p> <hr noshade width=50% size=1 align=left> <hr noshade width=50% size=5 align=left> <hr noshade width=40% size=4 align=left> <hr noshade width=30% size=3 align=left> <hr noshade width=20% size=2 align=left> <hr noshade width=10% size=1 align=left> ******* </body> </html> Link to comment Share on other sites More sharing options...
John Steed Posted March 26, 2007 Report Share Posted March 26, 2007 Was mach ich falsch ?? Grundsätzlich erstmal nix - Du berücksichtigst aber die <base href> nicht, die der Shop im <head> setzt. Die wird vor alle relativen Links automatisch vom Browser vorgesetzt. Die Suchfunktion hätte Dir dazu u.A. Folgendes gefunden: http://www.xt-commerce.com/forum/template-system/15215-anker-setzen.html?highlight=anker http://www.xt-commerce.com/forum/shopbereich/3058-link-zum-seitenanfang-anker.html?highlight=anker Auch ganz lustig,: Der Oberchef hat die <base href> auch nicht auf dem Zettel: http://www.xt-commerce.com/forum/template-system/2033-wie-top-link.html Cheers, IaN Link to comment Share on other sites More sharing options...
MEGATEC Posted March 27, 2007 Author Report Share Posted March 27, 2007 DANKE für die Antwort ! Die SUCHE hab ich natürlich voher benutzt und auch die beiden Sachen hab ich gefunden, aber wirklich schlauer hat mich das dort zu lesende Fachchinesisch auch nicht gemacht... Wenn ich es jetzt aber richtig verstehe, dann sollte ich also vor den entsprechenden Anker Befehl : <a href="#Anker_FOREN"><b>FOREN immer den Link zu der Seite einfügen auf der der Ankerbefehl ist oder ?? Das sollte dann wohl so aussehen : <a href="http://www.shop-seite-mit-den-links-XXXXX.de/#Anker_FOREN"><b>FOREN Lieg ich da richtig ? Link to comment Share on other sites More sharing options...
John Steed Posted March 27, 2007 Report Share Posted March 27, 2007 Das http://www.deinshop.de/ wird vom Browser automatisch davorgesetzt, es sollte also reichen href="seite-mit-den-links.php#anker" Wenn Du risikofreudig bist, kannst Du auch in der includes/header.php mal das <base href> auskommentieren - dann sollten die normalen href="#anker" funktionieren - ob der Rest vom Shop dann noch korrekt läuft, weiss ich leider nicht (hab's mich noch nicht getraut das auszuprobieren ) >>> http://de.selfhtml.org/html/kopfdaten/basis.htm <<< Und, JA, es gibt diverse Einschränkungen wenn man SEO-URLs benutzt und/oder der Shop mehrsprachig ist. Am allerkrassesten ist die Kombination Shopstat-URLs/Mehrsprachigkeit - wer da nen universellen Anker hinbekommt, möge sich bitte mal bei mir melden... Link to comment Share on other sites More sharing options...
MEGATEC Posted March 27, 2007 Author Report Share Posted March 27, 2007 Von dem was Du geschrieben hast hab ich rein gar nix verstanden !!!! Meine letzte Frage wurde irgendwie auch nicht beantwortet ( zumindest hab ich mal nix davon gelesen ). Vielleicht sollte der ein oder andere User dieses Forums mal dran denken, das sich hier auch noch normalsterbliche tummeln, die das php 1x1 nicht mit der Muttermilch aufgesogen haben ... Schade das man das nicht in allgemeinverständlichen Sätzen formulieren kann Ich hab übrigens heut mittag etwas länger rumprobiert : es geht mit der Methode die ich beschrieben habe ! DANKE trotzdem.. Link to comment Share on other sites More sharing options...
John Steed Posted March 28, 2007 Report Share Posted March 28, 2007 Hallo Megatec, Öhm... Sorry, aber das hatte erstmal mit PHP rein gar nichts zu tun, sondern ist pures HTML - ich hatte Dir sogar ein Link dazu gegeben - wenn Du das nicht liest, bist Du selber schuld... Hier nochmal (solltest Du Dir durchlesen!) http://de.selfhtml.org/html/kopfdaten/basis.htm Falls Du den Absatz NACH dem Link nicht verstanden hast, egal, der war eh nicht für Dich sondern für andere Leute, die dieses Posting vielleicht lesen und auch Probleme mit Ankern haben... Da ich nicht weiss, ob Du suchmaschinenfreundliche URLs verwendest, und auf welcher Content-Seite Du denn genau Deine Anker setzen willst, konnte ich Dir nur ein Beispiel geben: href="seite-mit-den-links.php#anker"[/CODE] Wenn Du *das* nicht verstehst, dann... nee, ich will jetzt nicht mürrisch werden... Meine letzte Frage wurde irgendwie auch nicht beantwortet ( zumindest hab ich mal nix davon gelesen ). Dann lies nochmal genau - die wurde exakt beantwortet - das <a> kannst Du Dir wohl noch dazudenken, oder geht auch das nicht? Was das auskommentieren (ich hoffe, Du weisst, was das ist) in der includes/header.php angeht, war folgendes gemeint - da steht oben drin die <base href>, die an all dem Anker-Murks Schuld ist: [PHP]<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>" />[/PHP] Man *könnte* die mal testweise auskommentieren: [PHP]<!-- base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>" / -->[/PHP] ...dann sollten *alle* normalen Anker funktionieren. Ob dann aber der Shop noch läuft bliebe zu testen... Das hat, wie gesagt, mit PHP herzlich wenig zu tun und ist HTML-Basiswissen... es geht mit der Methode die ich beschrieben habe ! Ist doch gut! Dann hast Du auch nur einen einsprachigen Shop und wahrscheinlich keine Suchmaschinenfreundlichen URLs, oder? Schade das man das nicht in allgemeinverständlichen Sätzen formulieren kann Und, war das jetzt besser? DANKE trotzdem.. Dafür nich! Cheers, IaN PS: Ich bin ein ganz Lieber und rede beruflich in allgemeinverständlichen Sätzen über HTML und PHP - nicht dass Du denkst, ich hätte jetzt nen Hals... Ich helfe gern - aber ein "Ich hab's nicht verstanden" von Dir hätte auch schon gereicht Link to comment Share on other sites More sharing options...
Todwart Posted April 2, 2008 Report Share Posted April 2, 2008 Ich habe das Problem schlussendlich auf die plumpe Art mit JavaScript gelöst. Da XTC ja sowieso nicht ohne JavaScript auskommt, ist der Schaden nicht allzu groß: <a href="javascript:location.replace(window.location.pathname + '#top')"><img src="{$tpl_path}img/top.gif" alt="zurück zum Seitenanfang" /></a> <a href="javascript:location.replace(window.location.pathname + '#top')"><img src="{$tpl_path}img/top.gif" alt="zurück zum Seitenanfang" /></a> Funzt zumindest unter IE und Firefox unter allen XT-Konfigurationen problemlos. Vielleicht hilft's ja noch jemandem. Gruß aus Hannover. Todwart Link to comment Share on other sites More sharing options...
shd-media Posted April 8, 2008 Report Share Posted April 8, 2008 Schön, schön, funktioniert bei mir leide rnicht. versuche nen anker auf der product_info.html zu setzen, der nach unten zum Cross_Selling springt. Habe also mit deiner Lösung folgendes stehen: <a href="javascript:location.replace(window.location.pathname + '#cross_selling')">{#more_products#}</a> und dazu unten <a name="cross_selling">{$MODULE_cross_selling}</a>[/code] wenn ich nun auf den Link klicke, lande ich auf product_info.php... Link to comment Share on other sites More sharing options...
Rovert Posted April 8, 2008 Report Share Posted April 8, 2008 Das habe ich für eine Kunde in der product_info.html eingebaut - scheint zu funktionieren <a href="{php}echo $_SERVER['PHP_SELF'];{/php}?info=p{$PRODUCTS_ID}#AnkerName">Hier Klicken</a> Es wird aber kein SID übertragen und es ist nicht SEO Links freundlich aber der Basis ist da. T Link to comment Share on other sites More sharing options...
shd-media Posted April 8, 2008 Report Share Posted April 8, 2008 jo, dnake wunderbar. So funktionierts. Seo-URLs sind eh noch net drin, kommen aber noch. Aber denke auf der ABsis kann man gut arbeiten Link to comment Share on other sites More sharing options...
Todwart Posted April 8, 2008 Report Share Posted April 8, 2008 und dazu unten <a name="cross_selling">{$MODULE_cross_selling}</a> wenn ich nun auf den Link klicke, lande ich auf product_info.php... Die Lösung von Rovert ist auch ganz hübsch und funzt prima. Vielen Dank für diese Lösung! - Die Lösung von Rovert führt aber leider immer zu einem Turnarround mit dem Server, mit langwierigem Laden der ganzen Seite. Das wird im ein oder anderen Fall vielleicht auch nicht anders gehen. Meine Lösung aber funktioniert in allen meinen Zusammenhängen prima. Allerdings lasse ich den Zielanker leer. Ich hätte also im Kopf vom Modul cross_selling den Anker wie folgt eingebaut: <a name="cross_selling"></a>[/code] Damit ist die Sprungadresse in der Ergebnissseite eindeutig und ich spare das Turnarround zum Server. Gruß, Todwart Link to comment Share on other sites More sharing options...
nerphunk Posted December 9, 2008 Report Share Posted December 9, 2008 man kann natürlich auch in der in der shop_content.php folgenden Befehl in ca. Zeile 126: $content_body = $shop_content_data['content_text'];[/PHP] durch [PHP]$content_body = str_replace("#",$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']."#",$shop_content_data['content_text']);[/PHP] ersetzen. Dann werden alle # durch den aktuellen Link + # ersetzt das gleiche sollte man dann aber auch in der popup_content.php machen. ;-) Link to comment Share on other sites More sharing options...
webmartin Posted August 13, 2009 Report Share Posted August 13, 2009 Hi Leute! Ich hatte das gleiche Problem und habe es auf eine etwas elegantere Lösung gebraucht. Vorraussetzung ist, dass die jQuery Bibliothek vorhanden ist. Der Vorteil meiner Lösung: man muss die Links im Content Manager nicht manuell anpassen, das Skript sucht automatisch nach allen Links, die mit "#" beginnen und ersetzt diese durch die komplette URL inkl. dem Anker. Hier das Skript: $(document).ready(function() { $("a[href^='#']").each( function( i ) { $(this).attr("href", document.URL + $(this).attr("href") ); } ); }); Die Lösung funktioniert mit aktiviertem SEO und dem Base-Tag im Header. Vielleicht hilft es ja dem ein oder anderen noch! Viele Grüße Martin Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.