php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.12.2008, 14:26  
Neuer Benutzer
 
Registriert seit: 08.12.2008
Beiträge: 4
Peach befindet sich auf einem aufstrebenden Ast
Standard Smarty<> Text per >include< einfügen

Tag auch,

möchte erst mal allen hier "Hallo" sagen.

Das ist hier mein erster Thread, mit einem Thema, das schon oft behandelt wurde.
Hab auch gesucht, aber nichts vergleichbares gefunden.

Die Sache ist folgende.
Ich betreibe einen Online Shop mit der Software Gambio GX.
Hier möchte ich nun auf der Startseite im Footer einen Text anzeigen, der sich bei jedem laden einer Seite ändert.( Random ).
Dazu habe ich im root einen Ordner mit folgendem inhalt eingesetzt.

Zitat:
<?php
$zufallsauswahl = "";
$anzahl_includes = 24;
$zufallsauswahl=rand(1,$anzahl_includes);
include('Texte/Cupido_'.$zufallsauswahl.'.php');
?>
in dem Ordner 'Texte' habe ich dann meine Texte als Cupido1.php, 2.php etc.
abgelegt.
Diese kann ich im Browser auch problemlos aufrufen.

Im Shop habe ich dann mit
Zitat:
<center>Infos<div id="footer_text">{php} include('rotator.php'); {/php}</div> </center>
versucht, die Texte aufzurufen.
Dies funktioniert allerdings nicht, ich bekomme den Befehl immer nur als Text angezeigt. Er wird also nicht ausgeführt.
Es könnte nun meiner Meinung nach an Smarty liegen.
Dort müßte dann der Befehl anderst ausgeführt werden.
etwa so
Zitat:
(include_php file = "/ pfad / zu / somefile.php")
Hab das auf verschiedene Art in die oben angezeigten Befehlszeile eingebaut, hatte aber immer das selbe Resultat.
Nun weiß ich nicht so recht, wie ich das umsetzen soll.
Muß ich dann auch in meiner Datei im root noch etwas ändern?

Grüße Peach

Geändert von Peach (08.12.2008 um 14:29 Uhr).
Peach ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.12.2008, 15:43  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Wahrscheinlich ist die Sicherheits-Einstellungen von Smarty so konfiguriert dass das ausführen von PHP-Code in Templates nicht erlaubt ist.

Smarty
-> PHP_HANDLING
robo47 ist offline  
Alt 08.12.2008, 15:44  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.269
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Statt dem include könntest du dir auch eine Funktion rotator() bauen, dessen Rückgabewert du nun im Footer einsetzt. Vielleicht umgehst du damit die Problematiken des {php} Taggings. Das muss soweit ich weiß aktiviert sein, der Pfad muss natürlich auch stimmen.
Chriz ist offline  
Alt 08.12.2008, 15:55  
Erfahrener Benutzer
 
Registriert seit: 27.09.2008
Beiträge: 316
PHP-Kenntnisse:
Fortgeschritten
moveax1 befindet sich auf einem aufstrebenden Ast
Standard

Kannst du die Ausgabe der Includierten Datei nicht in eine Variable legen und diese dann mit Smarty assignen?

Wäre sicherlich die schönere Lösung als PHP im Template zu nutzen.
moveax1 ist offline  
Alt 08.12.2008, 16:28  
Neuer Benutzer
 
Registriert seit: 08.12.2008
Beiträge: 4
Peach befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von robo47 Beitrag anzeigen
Wahrscheinlich ist die Sicherheits-Einstellungen von Smarty so konfiguriert dass das ausführen von PHP-Code in Templates nicht erlaubt ist.

Smarty
-> PHP_HANDLING
Wo finde ich denn diese Sicherheits-Einstellungen und kann ich diese einfach ändern?
Peach ist offline  
Alt 08.12.2008, 16:31  
Neuer Benutzer
 
Registriert seit: 08.12.2008
Beiträge: 4
Peach befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von moveax1 Beitrag anzeigen
Kannst du die Ausgabe der Includierten Datei nicht in eine Variable legen und diese dann mit Smarty assignen?

Wäre sicherlich die schönere Lösung als PHP im Template zu nutzen.
Könntest Du mir dabei mit einem Muster oder so helfen, da ich mich in dieser Materie überhaupt nicht auskenne?
Wäre super!
Peach ist offline  
Alt 08.12.2008, 16:31  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Die werden der Smarty-Instanz normalerweise bei der Instanzierung übergeben, da ich das Shopsystem und dessen aufbau aber nicht kenne, kann ich dir da nicht weiterhelfen.
robo47 ist offline  
Alt 08.12.2008, 17:10  
Neuer Benutzer
 
Registriert seit: 08.12.2008
Beiträge: 4
Peach befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von robo47 Beitrag anzeigen
Die werden der Smarty-Instanz normalerweise bei der Instanzierung übergeben, da ich das Shopsystem und dessen aufbau aber nicht kenne, kann ich dir da nicht weiterhelfen.
Könnte es evtl. dieses hier sein?

PHP-Code:
      /**
     * These are the security settings for Smarty. They are used only when
     * {@link $security} is enabled.
     *
     * @var array
     */
    
var $security_settings  = array(
                                    
'PHP_HANDLING'    => false,
                                    
'IF_FUNCS'        => array('array''list',
                                                               
'isset''empty',
                                                               
'count''sizeof',
                                                               
'in_array''is_array',
                                                               
'true''false''null'),
                                    
'INCLUDE_ANY'     => false,
                                    
'PHP_TAGS'        => false,
                                    
'MODIFIER_FUNCS'  => array('count'),
                                    
'ALLOW_CONSTANTS'  => false
                                   
);

    
/** 
Wenn ich da 'INCLUDE_ANY' => true, daraus mache, müßte es ja funktionieren.
Kann das dann andere Nachteile haben, wenn ich da Änderungen durchführe.
Wird ja einen Grund haben, dass hier 'false' eingestellt ist.
Peach ist offline  
Alt 08.12.2008, 19:32  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Solche Sicherheitseinstellungen benutzt man meistens nicht umsonst, z.b. um zu vermeiden dass jemand über die templates code einschleusen/ausführen kann und gerade bei einem Shop sollte einem Sicherheit wichtig sein. Du kannst es zwar ausprobieren, aber so wie ich das aus dem Thread hier rauslese scheinst du dich mit der Sache ja nicht wirklich gut auszukennen, daher geht mein Rat eher in die Richtung, lass es jemand machen der sich damit auskennt

Ansonsten -> probieren geht über studieren :P
robo47 ist offline  
Alt 08.12.2008, 20:04  
Erfahrener Benutzer
 
Registriert seit: 27.09.2008
Beiträge: 316
PHP-Kenntnisse:
Fortgeschritten
moveax1 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Peach Beitrag anzeigen
Könntest Du mir dabei mit einem Muster oder so helfen, da ich mich in dieser Materie überhaupt nicht auskenne?
Wäre super!
Klar,

1. Finde die PHP Datei die das Template füllt
2. dann assignst du die Variable zu einem Platzhalter:

PHP-Code:
$smarty->assign('Platzhalter'$include_output
3. Du rufst den Inhalt im Template mit {Platzhalter} auf
moveax1 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Einfügen von Text in Textarea per JS louis HTML, Usability und Barrierefreiheit 5 07.07.2008 15:13
php Code in text Feld einfügen tayke Datenbanken 2 18.06.2008 09:06
JavaScript/PHP: qooxdoo 0.7.1 - Teil 1 : Eine Einführung Zergling-new Tutorials 6 25.01.2008 10:41
CSS - Bild im div container überlappt andere container Buschdieb HTML, Usability und Barrierefreiheit 13 19.07.2007 23:17
Text mit Javascript in Textarea einfügen kiffy HTML, Usability und Barrierefreiheit 2 02.04.2006 20:35
CSS - Design (clear - Problem) HTML, Usability und Barrierefreiheit 7 21.12.2005 14:55
Text aus der DB verteilen PHP Tipps 2007 17 16.11.2005 12:04
Text in Bilder einfügen. PHP Tipps 2005-2 1 31.08.2005 11:53
Dynamischer Text in einer Grafik per Formular einfügen PHP Tipps 2005-2 2 19.08.2005 00:55
[Erledigt] Link PHP Tipps 2005-2 10 20.07.2005 21:28
Text einfügen? michi174 HTML, Usability und Barrierefreiheit 1 05.07.2005 15:19
[Erledigt] DIV´s wollen nicht wie ich das will :-) HTML, Usability und Barrierefreiheit 22 28.03.2005 18:36
Javascript: Text einfügen geht nich über "javascript:BL HTML, Usability und Barrierefreiheit 14 19.10.2004 21:44
txt-Datei erstellen d-81 PHP Tipps 2004 12 11.08.2004 20:31
CMS - Links in text dynamisch einfügen PHP-Fortgeschrittene 1 23.07.2004 17:37

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php in smarty ausführen, gambio smarty, smarty php ausführen, smarty gambio, smarty text, http://www.php.de/php-tipps-2008/49664-smarty-text-per-include-einfuegen.html, smarty php einfügen, smarty script einfügen, smarty include, smarty txt, smarty php code ausführen, php in smarty direkt ausführen, html in smarty einfügen, gambio link einfügen, smarty $php_handling, smarty textfile, smarty include html -tpl, smarty {txt, smarty text einfügen, texteinblendung smarty

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:25 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum