ilch Forum » Allgemein » HTML, PHP, SQL,... » Boxen in SelfPages einbetten

Geschlossen
  1. #1
    User Pic
    Ahrtas Hall Of Fame
    Registriert seit
    17.12.2007
    Beiträge
    2.300
    Beitragswertungen
    202 Beitragspunkte
    Ich würde gerne Boxen in die selbst erstellten Textseiten einbetten wie man es z.B. auch in Templates tut, also über:
    {_boxes_example}


    Ich möchte Textseiten mit Fließtext erstellen und an bestimmte Stellen im Text Boxen aus include/boxes bzw. include/content/selfbp/selfb ausgeben lassen.

    Wie muss das genau ausehen, damit es die jeweilige Box ausliest und an gewünschter Stelle ausgibt?


    verwendete ilch Version: 1.1 P


    PS: wäre eine Option für das Q Update zwinker

    betroffene Homepage: www.cristiang.de


    Zuletzt modifiziert von Ahrtas am 05.12.2016 - 15:57:26
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Maretz ilch.de Design
    Registriert seit
    28.02.2009
    Beiträge
    740
    Beitragswertungen
    73 Beitragspunkte
    Evtl eine Option:

    Eigene .htm über design.ini der Seite zuordnen und diese dann nach den Vorstellungen erstellen.

    Mfg Maretz lächeln
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Ahrtas Hall Of Fame
    Registriert seit
    17.12.2007
    Beiträge
    2.300
    Beitragswertungen
    202 Beitragspunkte
    Danke für den Tipp, kenne diesen aber bereits. zwinker

    Nein, es geht mir wirklich darum im Fließtext Boxen einzubinden.


    Lorem Ipsum Titel 1
    bla bla bla
    
    {_boxes_example}
    
    Lorem ipsum Titel 2
    bla bla



    Mit deiner Methode lässt sich eine Box leider nur vor oder nach dem Text der SelfPage einbinden.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    blakedj06 Mitglied
    Registriert seit
    07.08.2008
    Beiträge
    197
    Beitragswertungen
    30 Beitragspunkte
    Mach doch einfach eine normale Ilch Content Datei und hole mit include() die Boxen an die jeweiligen Positionen. Ist doch im Editor in etwa der gleiche Aufwand wie im ACP Selfpage Editor.
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    CeeJay Hall Of Fame
    Registriert seit
    23.03.2007
    Beiträge
    2.419
    Beitragswertungen
    18 Beitragspunkte
    <?php include('include/boxes/meinebox.php') ?>
    getestet.
    Suche neuen Clan, um mich als Programmierer, Forum-Moderator und ähnliche Aufgaben zu engagieren. Langjährige Erfahrung mit Clans vorhanden. Bei Interesse per PN anschreiben (bitte keine Clans unter 3
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Ahrtas Hall Of Fame
    Registriert seit
    17.12.2007
    Beiträge
    2.300
    Beitragswertungen
    202 Beitragspunkte
    Danke CeeJay dieser Tipp funktioniert selbstverständlich auch, mein Ziel ist es jedoch dass ich ohne externen HTML-Editor meine Boxen in den Text einbinden kann.

    Also ohne äußerlichen Zugriff auf die Datei durch FTP-Programm und HTML-Editor.
    Denn ansonsten wäre ja auch der Textseiten-Editor vom ilch-CMS überflüssig, da ich alles komplett im HTML-Editor schreiben kann.

    Ich möchte so grundsätzlich den Arbeitsaufwand reduzieren und zugleich auch die Bedienung / den Umgang mit Boxen vereinfachen und erweitern.


    Edit: Mit deiner Variante wird mir im ilch Editor nur der Text nach dem include angezeigt, was mich dauerhaft dazu zwingt die Seiten über einen HTML-Editor zu bearbeiten.


    -----


    Kleines Beispiel ich habe neun Textseiten und 3 Boxen. In jeder Textseite wird eine andere Box eingebunden, dass heißt ich muss neun mal PHP-Dateien runterladen, neun mal bearbeiten und neun mal wieder hochladen.
    = 3 Arbeitsschritte pro Textseite

    Wenn man es über die gewohnte {_boxes_example} funktion einbinden kann, muss ich nur neun mal bearbeiten.
    = 1 Arbeitsschritt pro Textseite


    Zusätzlich ist es auch für einen Laien einfacher Boxen einzubinden.
    Die Arbeitsschritte sind kein Problem für Insider, aber für Laien sehr umständlich. zwinker


    Zuletzt modifiziert von Ahrtas am 08.12.2016 - 00:47:15
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    So wir hatten ja erst vor kurzem das Thema Selfpages.

    Ich hab den Code davon mal mit drin gelassen. (bzgl der Kommentare)

    In der include/admin/selfbp.php müsste die edit_text Funktion wie folgt geändert werden.

    function edit_text($t, $add) {
        //!add -> replace php_code with {_boxes_XXX}
        if (!$add) {
            $t = preg_replace('~<\?php echo selfp_get_boxcontent\("([a-z]+)"\); \?>~', '{_boxes_$1}', $t);
        }
    
        $erg = preg_match("/^\s*<\?php defined \('main'\) or die \('no direct access'\);.*\?>/s", $t);
        if (!$erg && $add) {
            $t = trim($t);
            //remove PHP (or shorttags)
            $options = is_string($add) ? '/* ' . $add . ' */' : '';
            $t = preg_replace('/<\?.*(\?>|$)/', '', $t);
            $t = '<?php defined (\'main\') or die (\'no direct access\'); ' . $options . '?>' . $t;
        } elseif ($erg AND !$add) {
            $t = preg_replace("/^\s*<\?php defined \('main'\) or die \('no direct access'\);.*\?>(.*)$/s", "\\1", $t);
        }
    
        //add -> replace {_boxes_XXX} with php code
        if ($add) {
            $t = preg_replace('~{_boxes_([a-z]+)}~', '<?php echo selfp_get_boxcontent("$1"); ?>', $t);
        }
    
        return $t;
    }


    Dann muss in der include/contents/self.php noch folgende Funktion zum Laden der Boxen eingefügt werden. (möglichst neben (vor oder nach) der get_properties Funktion)

    function selfp_get_boxcontent ($box) {
        global $lang, $allgAr, $menu,$ILCH_HEADER_ADDITIONS,$ILCH_BODYEND_ADDITIONS;
        if (file_exists('include/boxes/' . $box . '.php')) {
            $pfad = 'include/boxes/' . $box . '.php';
        } elseif (file_exists('include/boxes/' . $box . '.htm')) {
            $pfad = 'include/boxes/' . $box . '.htm';
        } elseif (file_exists ('include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.php')) {
            $pfad = 'include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.php';
        } elseif (file_exists ('include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.htm')) {
            $pfad = 'include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.htm';
        } else {
            return (false);
        }
    
        include $pfad;
    }



    Zuletzt modifiziert von Mairu am 08.12.2016 - 08:10:21
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    2 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Ahrtas Hall Of Fame
    Registriert seit
    17.12.2007
    Beiträge
    2.300
    Beitragswertungen
    202 Beitragspunkte
    Vielen Dank Mairu! lächeln

    Funktioniert einwandfrei lächelnYes
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    CeeJay Hall Of Fame
    Registriert seit
    23.03.2007
    Beiträge
    2.419
    Beitragswertungen
    18 Beitragspunkte
    Verstehe ich das richtig Ahrtas, du baust dein CMS so um, dass du komplett ohne FTP-Verbindung auskommen kannst? Hast du mal ein Demokonto, würde mir das gerne mal im Adminbereich anschauen lächeln
    Suche neuen Clan, um mich als Programmierer, Forum-Moderator und ähnliche Aufgaben zu engagieren. Langjährige Erfahrung mit Clans vorhanden. Bei Interesse per PN anschreiben (bitte keine Clans unter 3
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Ahrtas Hall Of Fame
    Registriert seit
    17.12.2007
    Beiträge
    2.300
    Beitragswertungen
    202 Beitragspunkte
    Lol nein.
    Ich bin gerade an einer Renovierung meiner Website. lächeln
    Bisher offline mit xampp.

    Das sind aber so Dinge die für ein Laie einfach umständlich sind.
    Ich arbeite dahin dass ich Websiten erstelle für Kunden auf ilch-basis, die dann später solche Dinge eben selber händeln können ohne zwingend wissen zu müssen wie man Dateien vom FTP bearbeitet oder PHP-Code an die richtige Stelle einfügen kann.


    Wenn dann jemand z.B. eine Onepage erstellen möchte kann er auch Boxen an gewünschter Stelle einfügen, ohne am Template selbst Hand anzulegen.

    Mit der Funktion kann so einiges realisiert werden, vorallem da du die Box auch öfter im Text unterbringen kannst - was z.b. interessant hinsichtlich CTA-Elemente ist, wie bestimmte Buttons oder einem Newsletter-Formular öfter im Content einzubinden um die Conversion Rate zu erhöhen.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten