we:form Tag und SEO-URLs

Fragen zum Erstellen von Templates für webEdition.
AndreasWitt

we:form Tag und SEO-URLs

Beitragvon AndreasWitt » Mi 20. Jul 2011, 21:35

Hallo,

arbeite gerade mit SEO-URLs und dabei bin ich nun auf ein Problem im Zusammenhang mit dem we:form Tag gestoßen.

Auf einer Object-Detailseite (Artikel eines Shops), die über eine SEO-URL-Link aufgerufen wird, gibt es Dropdown-Menü mit Auswahl der verschiedenen Größen (unterschiedliche Varianten). Das Dropdown-Menü habe ich wie folgt gelöst:

Code: Alles auswählen

<we:form id="self" nameid="variantForm" method="get" target="_self">
    <input type="hidden" name="we_objectID" value="<?php echo $GLOBALS['we_obj']->ID ?>"/>
    <we:ifHasShopVariants>  
      <we:listview type="shopVariant" defaultname="S"> 
        <h3>Dieses Produkt gibt es in folgenden Gr&ouml;ßen:</h3>
        <select name="we_variant" onchange="document.getElementById('variantForm').submit()">
        <we:repeat>
            <option value="<we:field name="WE_VARIANT_NAME"/>"><we:field name="WE_VARIANT_NAME"/></option>
          </we:repeat>
        </select>  
      </we:listview>
      <p clear="both">
        <we:ifShopPayVat>
            <we:calculate num_format="german" print="true"><we:var type="float" name="price" />*1.<we:shopVat id="1" /></we:calculate> &euro;<br />
        <we:else/>
            <we:var type="float" name="price" /> &euro;<br/>
        </we:ifShopPayVat>            
      </p>
    <we:else/>
      <p clear="both">
        <we:ifShopPayVat>
            <we:var type="select" name="size" />: <we:calculate num_format="german" print="true"><we:var type="float" name="price" />*1.<we:shopVat id="1" /></we:calculate> &euro;<br />
        <we:else/>
            <we:var type="float" name="price" /> &euro;<br/>
        </we:ifShopPayVat>            
      </p>
    </we:ifHasShopVariants>  
  </we:form>
Dadurch, dass das Object über eine SEO-URL aufgerufen wurde, wird im HTML <from> Tag des geparsten webEdition-Quellcodes für den Parameter id="self" folgendes Konstrukt. Der Action-Parameter enthält "/webEdition/redirectSEOurls.php"

Code: Alles auswählen

<form target="_self" id="variantForm" method="get" name="variantForm" onsubmit=";if(self.weWysiwygSetHiddenText){weWysiwygSetHiddenText();};return true;" action="/webEdition/redirectSEOurls.php">
    <input type="hidden" name="we_objectID" value="25"/>
        <h3>Dieses Produkt gibt es in folgenden Gr&ouml;ßen:</h3>
        <select name="we_variant" onchange="document.getElementById('variantForm').submit()">
                    <option value="L">L</option>
                    <option value="XL">XL</option>
                    <option value="S">S</option>
         </select>  
         <p clear="both">174,00 &euro;<br /></p>
    </form>
Wenn ich nun die Größe über das Dropdown-Menü ändere, kommt es beim Neuladen der Seite zu dem Fehler, dass es eine weiße Seite gibt. Hat jemand eine Idee, was anders gemacht werden muss? Kann es sein, dass das we:form Tag für diesen Fall nicht benutzt werden kann?

Grüße, Andreas

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: we:form Tag und SEO-URLs

Beitragvon mokraemer » Do 21. Jul 2011, 17:41

ich fürchte der Fall ist nicht bedacht worden.
Du kannst dazu einen Eintrag im Bugtracker machen; das müßte man dann speziell abfangen; würde ich trotzdem gerne erst auf die 6.3er vertagen.
webEdition-Kern-Entwickler

ThomasGoebe

Re: we:form Tag und SEO-URLs

Beitragvon ThomasGoebe » Fr 22. Jul 2011, 10:38

Hallo Andreas,

das kommt darauf an, wie we:form id="self" die Adresse ermittelt. Da ist wohl echt noch was schief.

Als Workaround ermittele vor dem Aufruf von we:form die ID des Objekts und trage die über eine php-variable in we:form id="\$myID" ein.

Ich vermute stark, dass self hier nicht klappt.

Gruß
Thomas

Luigii
Senior Member
Beiträge: 454
Registriert: Mi 20. Jul 2005, 17:18

Re: we:form Tag und SEO-URLs

Beitragvon Luigii » Do 8. Dez 2011, 10:54

Gibt es für dieses Problem mittlerweile eine Lösung??
Hab in der Versionshistory nicht sgefunden, hab mir auch gerade die neueste Version installiert, der Fehler scheint weiterhin zu existieren.
Gibt es schon einen Eintrag in der Bugbase?
Dinge von großer Bedeutung gehe man mit Leichtigkeit an, Dinge von geringer Bedeutung mit großem Ernst.

Luigii
Senior Member
Beiträge: 454
Registriert: Mi 20. Jul 2005, 17:18

Re: we:form Tag und SEO-URLs

Beitragvon Luigii » Do 8. Dez 2011, 11:43

Verdammt! Der hier angegebene Workaround funktioniert leider nicht. Setze ich in die form die ermittelte ID ein so wird ein Link auf das Dokument mit dieser ID gesetzt, nicht auf das Objekt.
Ich habe jetzt die action direkt gesetzt mit $_SERVER['REQUEST_URI']. Dann erhalte ich den richtigen Pfad.
ABER: Der Artikel landet nicht im Warenkorb.
Dinge von großer Bedeutung gehe man mit Leichtigkeit an, Dinge von geringer Bedeutung mit großem Ernst.

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: we:form Tag und SEO-URLs

Beitragvon mokraemer » Do 8. Dez 2011, 21:36

geht das denn überhaupt ohne Seo???
Das glaube ich nämlich nicht: bisher dürfte es nicht möglich sein in einem form eine Objekt-Url anzugeben.
Also ist es kein Fehler, sondern ein Feature-Request
webEdition-Kern-Entwickler

Luigii
Senior Member
Beiträge: 454
Registriert: Mi 20. Jul 2005, 17:18

Re: we:form Tag und SEO-URLs

Beitragvon Luigii » Do 8. Dez 2011, 21:49

Ist ja nur ein Woraround, der nicht funktioniert.
Normalerweise gebe ich nichts an oder id="self", dann lande ich wieder auf dem Produkt und es liegt im Warenkorb. Das sollte eben auch mit SEO gehn. Ich würde gerne Produkte in den Warenkorb legen ohne jedesmal auf der Warenkorbseite zu landen..
Dinge von großer Bedeutung gehe man mit Leichtigkeit an, Dinge von geringer Bedeutung mit großem Ernst.

Jaui
Member
Beiträge: 44
Registriert: Di 19. Mai 2009, 16:51
Wohnort: Hamburg

Re: we:form Tag und SEO-URLs

Beitragvon Jaui » Sa 7. Jul 2012, 13:49

das problem mit dem form tag habe ich auch. mein lösungsansatz ist der, dass ich die speicherung in einem unsichtbaren iframe durchführe. dadurch bleibe ich auf der aktuellen seite und lasse die action im hintergrund passieren. so wird auch die seite nicht aktualisiert. wenn du jedoch die seite für irgendwelche anzeigen wie "sie haben xy erfolgreich in den warenkorb gelegt" aktualisieren musst, kannst du im iframe die aktualisierung des parent ausführen. so löse ich ein ähnliches problem. das javascript würde so aussehen:

Code: Alles auswählen

  <script type="text/javascript">
  var pageReload = '<?php echo $_POST['doneAction']; ?>'; // per post ein hidden-field name="doneAction" übergeben

  if(pageReload == 1){
    parent.window.location = parent.window.location.pathname;
  };
  </script>

Liquid
Senior Member
Beiträge: 1172
Registriert: Do 8. Jan 2004, 12:31
Wohnort: Karlsruhe

Re: we:form Tag und SEO-URLs

Beitragvon Liquid » Fr 29. Nov 2013, 15:55

Stehe auch gerade vor dem Problem, gibt es hier mittlerweile eine Lösung?
Gruß Liquid


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 49 Gäste