Menu

howto formulare in eigene seiten integrieren

brunoj
2007-08-06
2013-05-29
  • brunoj

    brunoj - 2007-08-06

    Hallo,
    ich bin kürzlich über tellmatic newsletter gestolpert, und finde das tool soweit echt gut.
    was mir probleme bereitet ist, dass ich die formulare gerne ins design meiner website integrieren möchte.
    so wie das im newsletter der tellmatic seite umgesetzt ist. aber ich krieg das einfach nicht hin.
    gibt es dazu vielleicht ein howto?

    besten dank in jedem falle für die hilfe

     
    • vizzy

      vizzy - 2007-08-06

      Hallo,

      leider gibt es hierzu noch kein Howto. Man koennte aber eines schreiben :)

      Zuerst mal muss man klaeren wie man das Newsletter einbinden moechte...

      a) als frame
      b) als popup
      c) 'ajax'
      d) direkt in die seite einbinden... framelose seite mit php-include

      Loesung:
      a) Einfach die subscribe.php mit den entsprechenden Parametern (siehe Online-Link in der Liste der Formulare) im Frame aufrufen.
      b) wie bei den Frames, nur als Javascript-PopUP, etwa mit dieser function:
      function urlpopup(url,w,h) {
        urlpopupwin=window.open(url,'Newsletter',"width="+w+",height="+h+",resizable=yes,screenX=10,screenY=10,hotkeys=no,dependent=yes,innerWidth="+w+",innerHeight="+h+",menubar=no,scrollbars=yes");
        urlpopupwin.focus();
      }

      a href="javascript:urlpopup('http://...../subscribe.php?fid=....',400,600);"

      c) wer ajaxen will weiss wie das geht :)

      d) mittels include subscribe.php, siehe hierzu auch anmerkungen in der Datei.

      Beispiel:

      //if subscribe.php is included in your script, please set frm_id to Form ID and $called_via_url=false; $_CONTENT holds the html output
      $called_via_url=false;
      $frm_id=[FORMULAR_ID];
      $_CONTENT="";
      $_CONTENT.="<div class=\"newsletter\">";
      include_once ('/pfad/zu/subscribe.php');
      $_CONTENT.="</div>";
      echo $_CONTENT;

      Gruss
      v.

       
      • Luigi_Tirol

        Luigi_Tirol - 2007-08-06

        unter files/forms wird zu jedem formular das jeweilige template erstellt.
        z.B. Form_1.html
        die datei einfach an dein design anpassen.

         
        • Gruenbaer

          Gruenbaer - 2007-08-06

          Also ich habe die Form1 einfach als IFrame eingebunden. Alle folgenden Forms werden dann auch innerhalb meiner Seite dargestellt.
          Die Form zum einbinden liegt im Files/Forms Ordner. Einfach alle Form_X* Dateien bearbeiten.

          Zum Thema wie binde ich IFrames an bietet sich Google als super Quelle an. Nichts anderes habe ich bemüht ;)

          Gruß,

          Emil

           
    • brunoj

      brunoj - 2007-08-06

      Hallo,

      besten dank für die hilfe.

      version (d.) von vizzy's post ist das, was ich machen möchte.
      habe eine site in html ohne frames, ohne java-scripte

      habe es auch dank der hilfe so weit geschafft, dass das anfangsformular, in welches die daten eingegeben werden, innerhalb meiner html-seite angezeigt wird. auch schön brav in meinem design. :-)
      nach klick auf "subscribe/speichern" wird aber immer das standardformular als neues fenster gezeigt.
      aber auch diese antworten möchte ich gerne innerhalb meiner html-seite angezeigt bekommen.

      noch mal ums klar zu machen. tellmatic funktioniert  einwandfrei.
      nur ist halt das design nicht so, wie ich es haben möchte.

      was ein howto betrifft, so könnte ich mir vorstellen, so etwas zu verfassen, sobald ich kapiert habe, wie es geht. ;-)

      in jedem falle nochmals besten dank für die antworten.

       
      • Luigi_Tirol

        Luigi_Tirol - 2007-08-06

        die anderen Forms die du anpassen musst sind Form_1_o.html, Form_1_os.html und Form_1_s.html

         
        • vizzy

          vizzy - 2007-08-06

          jupp, allgemein:

          Form_[FID].html, Form_[FID]_o.html, Form_[FID]_os.html und Form_[FID]_s.html
          im Verzeiechnis files/forms

          wobei [FID] die ID des Formulares ist, siehe Liste.

          Um zukuenftigen Formularen gleich ein angepasstes Layout zu verpassen, kann man auch die Templates im Verzeichnis 'tpl' anpassen. Daraus werden dann die Formular-Templates fuer neue Formulare erstellt.

          v.

           
      • vizzy

        vizzy - 2007-08-06

        Hi,

        das mit dem neuen Fenster ist seltsam, denn das Formular benutzt als Target "_self". Dazu weiss im Moment keine Erklaerung.
        Siehe subscribe_form.inc:

        ca. ab Zeile 23:
          $Form->new_Form($FormularName,$_SERVER["PHP_SELF"],"post","_self");

        Beachte das Du evtl. eigene Hidden-Parameter in das Formular einfuegen musst, um evtl den gleichen Content aufzurufen... (?content=newsletter , ?cid=12345 oder aehnlich)
        Diese kannst Du im Formular folgendermassen ergaenzen:
        subscribe_form.inc, ca ab Zeile 30:

          $Form->new_Input($FormularName,"MyVar", "hidden", $MyVar);

        wobei $MyVar der Wert und MyVar der Name Variable ist.

        Das muss dann auch noch ausgegeben werden:
        ab Zeile 274:
          $FHEAD.= $Form->INPUT[$FormularName]['MyVar']['html'];

        Gruss
        v.

         
      • brunoj

        brunoj - 2007-08-08

        Hurra, es fluppt doch!!!

        über <iframe> lassen sich die forms ganze wunderbar integrieren.
        die forms werden dann nur noch entsprechend formatiert, und voila, es geht.

        vielen dank nochmals.

        ABER jetzt kommt noch frust total:
        habe das ganze bislang local auf meinem apache getestet.
        nun habe ich versucht, das ganze auf den server meines providers nach zu ziehen, und...
        strato!!
        php als cgi :-((
        habe nun wahlweise administration offen wie scheunentor (jeder kann) oder gar nicht.
        das ist echt doof.

        muss jetzt erst mal meinen frust bekämpfen.

        sollte jemand eine lösung wissen, immer her damit.
        aber das hat ja auch in den anderen posts bislang noch nicht geklappt.

        trotzdem nochmals danke an alle, die geholfen haben

        gruß

         
        • vizzy

          vizzy - 2007-08-08

          "php als cgi :-(( "

          hi,

          seit Tellmatic 1.0.6 liegt die index.php fuer die Verwaltung im Verzeichnis 'admin'.
          Du kannst, falls HTTP-Auth ueber PHP nicht funktioniert, das Verzeichnis einfach mit .htaccess schuetzen.
          Dazu kannst Du auch einfach deine bestehende .htaccess, zum Beispiel die aus dem Verzeichnis 'include' dorthin kopieren.

          Eine andere Loesung ist ueber die rewrite-engine einen Workaround fuer HTTP-Auth zu machen (da die meisten CGI-Installationen genau diese Variablen nicht durchreichen, ob das ein BUG ist, oder gewollt, oder die meisten Provider einfach nur zu faul sind das richtig einzurichten lassen wir dahingestellt... ;-).

          Hierufer findet sich im Tellmatic Verzeichniss eine Vorlage fuer eine .htaccess Datei (.htaccess_php_running_as_cgi)
          Die Rewrite Engine muss aktiviert sein.
          Dann in mnl_lib.inc folgende Zeilen suchen:
              //uncomment the next line if your php is running as cgi and http authentication does not work:
              //list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
          und bei //list.... die beiden vorstehenden / entfernen.
          Testen, fertig :) Dann gehts auch mit CGI, aber nicht in allen Faellen.

          Es genuegt aber auch das Verzeichnis admin einfach mit einer .htaccess Datei zu schuetzen, ist im Prinzip das gleiche une benoetigt die Rewrite Engine nicht.

          (Bin mir sicher das wurde irgendwo hier im Forum schpon mal besprochen, aber da muesste ich jetzt selbst zu viel suchen ;-)

          Gruesse
          v.

           
        • vizzy

          vizzy - 2007-08-08

          "über <iframe> lassen sich die forms ganze wunderbar integrieren.
          die forms werden dann nur noch entsprechend formatiert, und voila, es geht. "

          Bedenke das Textbrowser wie Lynx & Co. Iframes nicht richtig oder gar nicht anzeigen.
          Was klappt denn nicht wenn Du es includest? Immer noch das neue Fenster?

          Gruesse
          v.

           
          • Gruenbaer

            Gruenbaer - 2007-08-08

            Also bei meiner Seite kämen Leute mit Textbrowsern kaum bis zu der IFrame Seite :)

             
            • vizzy

              vizzy - 2007-08-08

              Und was verwendest Du sonst? Doch nicht etwa nur Frames? Oder gar Flash? brrrr.

               
              • Gruenbaer

                Gruenbaer - 2007-08-08

                OKOK, habs grad getestet, man kommt sogar mit dem Textbrowser bis zum IFrame.
                Daher warte ich mal bis das HowTo fertig ist und verwende eine andere Methode. Wieso soll ich das Rad zum zweiten Mal erfinden ;)

                Gruß,

                Emil

                 
                • vizzy

                  vizzy - 2007-08-09

                  Wie gesagt, es geht einfach per include:

                  $frm_id=1;
                  $called_via_url=false;
                  include_once (".tellmatic/subscribe.php");

                  siehe http://www.tellmatic.org/newsletter

                  und dort oeffnet sich alles im gleichen Fenster, target="_self"

                  Einfach anmelden und selbst erleben :)

                  v.

                   
    • brunoj

      brunoj - 2007-08-07

      Hallo nochmals,

      vielen vielen dank für die hilfe.
      das ganze nimmt langsam aber sicher formen an.
      der hinweis mit den forms wars.

      @vizzy: die sache mit dem neuen fenster war von mir missverständlich geschrieben. der browser machte kein neues fenster auf, sondern öffnete das standard-form im gleichen fenster. sorry.

      die forms habe ich nun angepasst. etwas eigentümlich ist dann noch, dass links (bilder, css-datei) relativ zur subscribe.php, und nicht zu den forms angegeben weden müssen.

      dann können die forms über den link ..../subscibe.php?fid=formID aufgerufen werden, und die sache klappt.

      was mir aber noch nicht fluppen will, ist das mit dem include der subscribe.php.
      habe das script mal so eingefügt, wie vizzy es gepostet hat. form id und pfad zur subscribe.php angepasst, und es will nicht funzen. die forms werden nicht angezeigt.

      könnt ihr mir das nochmal für dummies erklären? ;-)

      ansonsten wie gesagt top support, echt klasse.

      und wenn es dann fertig ist, kommt auch sicher ein how-to von mir

      besten dank

       
    • Nobody/Anonymous

      Kann es sein, das wenn ich die subscribe.php durch einen IFrame anzeigen lassen, auch ein HTML Grundgerüst mit ausgegeben wird?

      Bei mir schreibt er immer das Zeug mit rein und ich frage mich wo das her ist. Ich brauche doch nur das Formular und mehr nicht.

      Habe mir schon ein neues Formular gebaut und vorher aus dem "Formular 0" (also die Vorlage für alle weiteren Formulare) die Tags body, head, style, etc. rausgenommen.

      Doch weiterhin zeigt er mir das Gedöns im Quellcode innhalb des IFrames an.

      Wie stelle ich das ab und wo?

      Danke euch.

       

Log in to post a comment.