Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Anker in AGB setzen

    rosarot

    • Neu im Forum
    • Beiträge: 46
    Anker in AGB setzen
    am: 17. März 2010, 15:20:58
    Hallo,
    Ich habe schon alles durchsucht und finde nichts im Forum. Ich möchte in den AGB von den Überschriften zu den einzelnen Abschnitten springen. Im Test habe ich an den Abschnitten Amker gesetzt mit Namen 1, 2, 3 etc. und dann die Überschriften als Link-Anker definiert und dann den Ankernamen 1, 2, 3 usw. ausgewählt. Ich springe aber immer auf die Startseite. Was mache ich falsch? Ich werde hier bald verrückt.  :lol2:
    Vielen Dank
    rosarot



    Linkback: https://www.modified-shop.org/forum/index.php?topic=4590.0
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Anker in AGB setzen
    Antwort #1 am: 17. März 2010, 15:34:43
    Ich kann mich ja irren, aber so ganz unterschiedlich zu dem vorherigen Thema von dir ist das nicht, oder? -> Link im Bestellvorgang zum Widerspruchsrecht in den AGB

    Selbe Problematik... es geht um Anker!

    Schau mal hier: Lexikon für xt:Commerce 3.04 SP2.1
    Oder hier vom Hersteller in Version 2.0: Lexikon, Encyclopedia v2.0
    Oder hier: FAQ-Manager
    Oder auch hier: Informationscenter für xt:Commerce

    Grüße

    Torsten

    rosarot

    • Neu im Forum
    • Beiträge: 46
    Anker in AGB setzen
    Antwort #2 am: 17. März 2010, 15:56:20
    Hallo Torsten,
    ja vielleicht es ein ähnliches Thema. Aber ich habe doch im Contentmanager (in welchem ich meine AGBs direkt eingegeben habe) diese zwei netten Buttons (Link und Anker). Kann ich diese beiden Gesellen nicht einfach auf einer einzigen AGB-Seite verwenden ohne in den Quelltexten herumzuändern? Das muss doch funktionieren. Ist doch extra für Doofe wie mich gemacht  :D
    Vielen Dank
    rosarot

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Anker in AGB setzen
    Antwort #3 am: 17. März 2010, 16:13:20
    Also... ich gehe mal davon aus, dass deine AGB die Gruppen-ID 3 haben?
    Dann aktiviere im Content-Manager die Quellcode-Ansicht und setze die Anker wie folgt:

    Code: PHP  [Auswählen]
    <p><a href="shop_content.php?coID=3#1">Springe zu </a></p>
    [...]
    [...]
    [...]
    <p><a name="1">Anker zu §1</a></p>
     
    Grüße

    Torsten

    rosarot

    • Neu im Forum
    • Beiträge: 46
    Anker in AGB setzen
    Antwort #4 am: 17. März 2010, 17:31:51
    :thx: lieber Torsten

    Kiwi

    • Neu im Forum
    • Beiträge: 2
    Anker in AGB setzen
    Antwort #5 am: 17. April 2010, 13:57:41
    Hallo zusammen

    Arbeite gerne mit xtc von Euch und eigentlich fast fertig mit meinem Shop. Nun zerbreche ich aber offensichtlich am gleichen Problem mit meinen Ankern bei den FAQ's: Keine Chance diese zu programieren. Im Dreamweaver oder anderen Programen funktionieren die Anker und sobald ich diese Seite einbaue, werde ich mit der Startseite verbunden!  Da ich eigentlich keine grossse Ahnung vom Programieren habe, weiss ich Torstens Eintrag nicht richtig zu interpretieren. Wo im Code setzte ich dies wie ein?

    Verzweifelt grüsst Euch
    Peter

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Anker in AGB setzen
    Antwort #6 am: 17. April 2010, 18:54:17
    DU hast nur die Links zu den Ankern gesetzt, die eigentlichen Anker sind jedoch nicht im Quelltext zu sehen.

    Grüße

    Torsten

    Kiwi

    • Neu im Forum
    • Beiträge: 2
    Anker in AGB setzen
    Antwort #7 am: 17. April 2010, 20:15:32
    Danke Torsten

    Jedoch nach 18 Std Wahnsinn mit dem Aker setzen kapituliere ich und werde die Verlinkung entfernen. :I
    Habs mit xtc 'Content Manager' (Link- & Ankersymbolen)und eigener extern hochgeladener .html Seite versucht - jedoch erfolglos.
    In den hochgeladnen Seiten funktionierten die ANker wunderbar und auch eingebunden in andere Websites, sogar in Framesets war es kein Problem. Nur im Zusammenhang mit xtc kommt immer wieder die Startseite und nie der Anker. Treibe also föllig hilfos umher  :nixweiss:  

    Dank & Gruss
    Peter

    guensi

    • Viel Schreiber
    • Beiträge: 2.288
    Anker in AGB setzen
    Antwort #8 am: 18. August 2010, 21:50:44
    Also... ich gehe mal davon aus, dass deine AGB die Gruppen-ID 3 haben?
    Dann aktiviere im Content-Manager die Quellcode-Ansicht und setze die Anker wie folgt:

    Code: PHP  [Auswählen]
    <p><a href="shop_content.php?coID=3#1">Springe zu </a></p>
    [...]
    [...]
    [...]
    <p><a name="1">Anker zu §1</a></p>
     
    Grüße

    Torsten

    Hab das gerade mal in einem 1.05 Testshop verbaut. Funktioniert, allerdings fand ich es unschön, dass nun die Anker auch die Link-Auszeichnung des CSS mit übernehmen. Da man nun seit html4 aber Anker auch über das Universalattribut id addressieren kann, hab ich diesen Weg gewählt. Finde ich eleganter.

    Sieht dann so aus:

    Code: PHP  [Auswählen]
    <p><a href="shop_content.php?coID=3#1">Springe zu </a></p>
    [...]
    [...]
    [...]
    <p id="1">Anker zu §1</p>
     
    Funktioniert auf der AGB Seite auch einwandfrei. Keine störende Link-Imitation mehr bei den Ankern.

    Die ganze Ankergeschichte - egal ob über die <a> oder die id Lösung hat den kleinen unschönen Nebeneffekt, dass diese Anker auch in der AGB im Checkout auftauchen. Und wenn man dort dann auf einen Verweis auf einen Anker klickt, landet man prompt auf der AGB-Seite, genau bei dem gewählten Anker. Das ist aber nun hier nicht Sinn der Sache.

    Hat jemand dafür ne Lösung?

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Anker in AGB setzen
    Antwort #9 am: 18. August 2010, 22:08:14
    Toller Tipp, danke! :thx:

    Grüße

    Torsten

    guensi

    • Viel Schreiber
    • Beiträge: 2.288
    Anker in AGB setzen
    Antwort #10 am: 18. August 2010, 22:09:53
    Aber bitte doch, aber der Tipp ist nur brauchbar, wenn sich das Problem im Checkout lösen lässt.

    guensi

    • Viel Schreiber
    • Beiträge: 2.288
    Anker in AGB setzen
    Antwort #11 am: 20. August 2010, 18:51:43
    Nachdem ich für das Problem des unerwünschten Aufrufes der AGB-Seite im Checkout nicht elegant lösen konnte, hier mal ein quick-and dirty Workaround für dieses Problem.

    Schritt 1: Die AGB werden als agb.html mit Ankern (wie oben angegeben) angelegt und im Ordner templates/media/content gespeichert. Diese Datei wird dann im Admin-Bereich im Contentmanager den AGB zugewiesen.

    Schritt 2: Die AGB werden zusätzlich als agb_checkout.html ohne Anker definiert und ebenfalls im Ordner templates/media/content gespeichert.

    Schritt 3: Datei checkout_payment.php (Vorher Sicherheitskopie anlegen) öffnen und ab Zeile 200 folgenden Code suchen:

    Code: PHP  [Auswählen]
    /* BOF - Hetfield - 2010-01-21 - Bugfix including contentfiles at SSL-Proxy */
    //$conditions = '<iframe SRC="' . DIR_WS_CATALOG . 'media/content/' . $shop_content_data['content_file'] . '" width="100%" height="300">';
    $conditions = '<div class="agbframe">' . file_get_contents(DIR_FS_DOCUMENT_ROOT . 'media/content/' . $shop_content_data['content_file']) . '</div>';
    /* EOF - Hetfield - 2010-01-21 - Bugfix including contentfiles at SSL-Proxy */
    und wie folgt ändern:

    Code: PHP  [Auswählen]
    /* BOF - Hetfield - 2010-01-21 - Bugfix including contentfiles at SSL-Proxy */
    //$conditions = '<iframe SRC="' . DIR_WS_CATALOG . 'media/content/' . $shop_content_data['content_file'] . '" width="100%" height="300">';
    $conditions = '<div class="agbframe">' . file_get_contents(DIR_FS_DOCUMENT_ROOT . 'media/content/agb_checkout.html') . '</div>';
    /* EOF - Hetfield - 2010-01-21 - Bugfix including contentfiles at SSL-Proxy */
    Erläuterung: hier wird die agb_checkout.html fest verdrahtet hinterlegt, da $shop_content_data['content_file']  ja unweigerlich die im Content hinterlegte agb.html mit Ankern laden würde. Das gilt es dann bei zukünftigen Updates des Shops und Änderungen der AGB zu bedenken.

    Funktioniert perfekt, im Checkout keine AGB mit Links auf die ID3=AGB-Seite. Denn da liegt der Hund begraben. Die Anker verweisen immer auf diese (durch ID3 absolut definierte) Seite. Was im Checkout nun absolut nicht erwünscht ist.

    Soweit der Workaround. Für mich als Lösung ausreichend. Bis sich einer der Programmiercracks hier mal einer eleganteren Lösung annimmt, werd ich das benutzen.

    Ach ja, im Checkout (Shop-Version 1.05) gibts einen Popup-Link für die AGB. Dieser ruft wiederum die AGB der ID3 auf. Da funktionieren die Anker innerhalb des aufgerufenen Popups einwandfrei - jedenfalls nach allem was ich bisher testen konnte.

    certis

    • Frisch an Board
    • Beiträge: 63
    Anker in AGB setzen
    Antwort #12 am: 09. Dezember 2010, 12:01:39
    Ich hab das mal mit JavaScript gelöst:

    Code: Javascript  [Auswählen]
    <script type="text/javascript">
          var url=document.URL;
          var nameMitAnker=url.split('/');
          var name;
          var link;
          if(nameMitAnker[nameMitAnker.length-1].search(/&/)!=-1){
            nameMitAnker=nameMitAnker[nameMitAnker.length-1].split('&');
            if(nameMitAnker[0].search(/#/)!=-1){
              name=nameMitAnker[0].split('#');
            }else{
              name=nameMitAnker[0];
            }
          }else if(nameMitAnker[nameMitAnker.length-1].search(/#/)!=-1){
          name=nameMitAnker[nameMitAnker.length-1].split('#');
          }else{
            name=nameMitAnker[nameMitAnker.length-1];
          }
          if(name[0]=="shop_content.php?coID=3"||name=="shop_content.php?coID=3"||name[0]=="popup_content.php?coID=3"||name=="popup_content.php?coID=3"){
            if(name[0]=="shop_content.php?coID=3"||name=="shop_content.php?coID=3"){
              link="shop_content.php?coID=3";
            }else if(name[0]=="popup_content.php?coID=3"||name=="popup_content.php?coID=3"){
              link="popup_content.php?coID=3";
            }
            document.write('AGB mit Verlinkung');
          }
          else{
            document.write('AGB ohne Verlinkung');
          }
        </script>
     
    und im Anschluss noch mit <noscript> eine Version für Besucher, die kein JavaScript aktiviert haben und es funktioniert soweit ich das testen konnte!
    Ausnahme: mit chrome bzw. iron funktioniert die Verlinkung im popup nicht, wobei mir nicht ganz klar ist warum. Die chrome Nutzer sind jedoch so weit ich weiß nicht die große Masse.
    Fall noch etwas nicht funktioniert einfach schreien  :D
    Ich habe noch eine Beispieldatei angefügt, die man nur abändern und hochladen muss.
    Bevor ihr das hineinladet, macht bitte ein Backup von den AGBs!

    greetz certis

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Anker in AGB setzen
    Antwort #13 am: 09. Dezember 2010, 12:23:53
    Alle Links aus den AGB im checkout_payment entfernen.

    AGB-Text aus dem Contentmanager:

    Code: PHP  [Auswählen]
                    /* BOF - Hetfield - 2010-01-21 - Bugfix including contentfiles at SSL-Proxy */
                    //$conditions = '<iframe SRC="' . DIR_WS_CATALOG . 'media/content/' . $shop_content_data['content_file'] . '" width="100%" height="300">';
                    $conditions = '<div class="agbframe">' . preg_replace('#<a(.*)>(.*)</a>#Uis', '\\2', file_get_contents(DIR_FS_DOCUMENT_ROOT . 'media/content/' . $shop_content_data['content_file'])) . '</div>';
                    /* EOF - Hetfield - 2010-01-21 - Bugfix including contentfiles at SSL-Proxy */
    AGB-Text aus einer Datei:

    Code: PHP  [Auswählen]
                    /* BOF - Hetfield - 2010-01-20 - Remove agb-textarea from checkout_payment */
                    //$conditions = '<textarea name="blabla" cols="60" rows="10" readonly="readonly">' . strip_tags(str_replace('<br />', "\n", $shop_content_data['content_text'])) . '</textarea>';
                    $conditions = '<div class="agbframe">' . preg_replace('#<a(.*)>(.*)</a>#Uis', '\\2', $shop_content_data['content_text']) . '</div>';
                    /* EOF - Hetfield - 2010-01-20 - Remove agb-textarea from checkout_payment */
    Getestet!!

    Gruß h-h-h

    6 Antworten
    1606 Aufrufe
    04. Januar 2020, 22:06:54 von woeppel
    2 Antworten
    1703 Aufrufe
    05. November 2015, 17:09:18 von HaldOn
    16 Antworten
    5417 Aufrufe
    06. Mai 2009, 22:43:37 von guensi
    4 Antworten
    3771 Aufrufe
    11. Dezember 2010, 09:01:26 von SupaRoyal