Home
Download
Add-ons
Help
Forum
Organisation
Project
Welcome,
Guest
. Please
login
or
register
.
Did you miss your
activation email?
May 27, 2012, 01:53:03 AM
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
Search:
Advanced search
Interested in joining the WebsiteBaker team?
For more Information read
here
or on our
new website
.
155555
Posts in
21715
Topics by
7737
Members
Latest Member:
gx-world
WebsiteBaker Community Forum
Deutsch (German)
Hilfe/Support
(Moderator:
badknight
)
Eingangsseite mit php-Code?
Pages: [
1
]
Go Down
Author
Topic: Eingangsseite mit php-Code? (Read 3826 times)
Timog
Offline
Posts: 36
Eingangsseite mit php-Code?
«
on:
February 13, 2007, 11:30:52 AM »
Hallo Ihr,
WB bietet ja die Möglichkeit eine Eingangsseite zu nutzen.
Ist es da eigentlich auch möglich eine Seite mit php-Code zu erstellen?
Der Standard-WYSIWYG-Editor killt mir immer meine php-Tags....
Gruß,
Timog
Logged
ruebenwurzel
WebsiteBaker Org e.V.
Offline
Posts: 7973
Re: Eingangsseite mit php-Code?
«
Reply #1 on:
February 13, 2007, 01:58:00 PM »
Hallo,
zunächst mal benutzt du WB 2.6.4 oder 2.6.5? In 2.6.4 funktioniert das mit der Eingangsseite überhaupt nicht, in 2.6.5 ist das aber gefixt. soweit ich weiß nutzt die Eingangsseite aber nicht den WYSIWYG Editor, oder?
Matthias
Logged
doc
Guest
Re: Eingangsseite mit php-Code?
«
Reply #2 on:
February 13, 2007, 02:51:17 PM »
Hallo,
wenn Du die Option Eingagnsseite unter Optionen aktivierst, wird die Datei /pages/intro.php angelegt. Mit dieser Datei ist standardmässig der WYSIWYG Editor verknüpft. Allerdings werden die Formate aus dem Template nicht übernommen. Es ist im Backend meines Wissens nach nicht möglich, der Seite /pages/intro.php einen anderen Modultyp (z.B. Code) zuzuweisen.
Sieht so aus, als ob dieses Feature für WB2.7 eine Überarbeitung verlangt. Getestet mit WB2.6.5.
Gruss Christian
Logged
ruebenwurzel
WebsiteBaker Org e.V.
Offline
Posts: 7973
Re: Eingangsseite mit php-Code?
«
Reply #3 on:
February 13, 2007, 03:20:59 PM »
Hallo,
workaround1:
wenn du die intro.php nicht über die WB admin oberflächen verwalten willst, kannst du diese mit einem beliebigen Editor offline bearbeiten. Code einfügen oder was du willst, hochladen, fertig.
workaround 2:
Es geht aber auch über die WB admin oberfläche. Setze zunächst bei den erweiterten Optionen den WYSIWYG Editor auf "Kein". Du hast dann beim bearbeiten der intro.php über WB admin lediglich ein leeres Editorfenster, in das du einfügen kannst was du willst. Wenn du mit der Eingangsseite fertig bist, kannst du den WYSIWYG Editor ja wieder aktivieren. Mustt nur drandenken ihn vor dem Bearbeiten der Eingangsseite jedesmal zu deaktivieren.
Matthias
Logged
Timog
Offline
Posts: 36
Re: Eingangsseite mit php-Code?
«
Reply #4 on:
February 13, 2007, 04:09:29 PM »
Hallo zusammen,
gute Idee die intro.php extern zu bearbeiten. Werde ich gleich mal umsetzen.
Danke Euch.
Gruß,
Timog
Logged
Timog
Offline
Posts: 36
Re: Eingangsseite mit php-Code?
«
Reply #5 on:
February 13, 2007, 05:23:21 PM »
Hi,
habe ich mich etwa zu früh gefreut?
Mein php-Code wird auf der Eingangsseite nicht umgesetzt. Ist dies bei Euch auch so?
Fehlen da vielleicht irgendwelche Pfadangaben?
Gruß,
Timog
Logged
doc
Guest
Re: Eingangsseite mit php-Code?
«
Reply #6 on:
February 13, 2007, 05:36:58 PM »
Hi Timog,
WebsiteBaker maskiert wohl PHP Codeteile in der intro.php, weswegen Sie nicht angezeigt werden. Wenn Du aber die intro.php direkt aufrufst (
http://deineDomain.com/pages/intro.php
) geht es aber.
Beispielcode für intro.php
Code:
<html>
<head><title>Intropage</title></head>
<body>
<h1>Test</h1>
<?php
echo
"Hallo Welt"
;
?>
</body>
</html>
Gruss Christian
Logged
Timog
Offline
Posts: 36
Re: Eingangsseite mit php-Code?
«
Reply #7 on:
February 15, 2007, 10:23:42 PM »
Hallo Christian,
irgendwie scheint mein php-Code auf der intro.php nicht zu funktionieren.
Hier mal ein Beispiel:
Code:
<?php
if(
FRONTEND_LOGIN
==
'enabled'
AND
VISIBILITY
!=
'private'
AND
$wb
->
get_session
(
'USER_ID'
) ==
''
) {
?>
<form name="login" id="login" action="
<?php
echo
LOGIN_URL
;
?>
" method="post">
<fieldset>
<legend>
<?php
echo
$TEXT
[
'LOGIN'
];
?>
:</legend>
<label for="username" accesskey="1">
<?php
echo
$TEXT
[
'USERNAME'
];
?>
:</label><input type="text" name="username" id="username" style="text-transform: lowercase;" /><br />
<label for="password" accesskey="2">
<?php
echo
$TEXT
[
'PASSWORD'
];
?>
:</label><input type="password" name="password" id="password" /><br />
<input type="submit" name="submit" id="submit" value="
<?php
echo
$MENU
[
'LOGIN'
];
?>
"/><br />
</fieldset>
</form>
<?php
} elseif(
FRONTEND_LOGIN
==
'enabled'
AND
is_numeric
(
$wb
->
get_session
(
'USER_ID'
))) {
?>
<form name="logout" id="logout" action="
<?php
echo
LOGOUT_URL
;
?>
" method="post">
<fieldset>
<legend>
<?php
echo
$TEXT
[
'LOGGED_IN'
];
?>
:</legend>
<p>
<?php
echo
$wb
->
get_display_name
();
?>
</p>
<input type="submit" name="submit" id="submit" value="
<?php
echo
$MENU
[
'LOGOUT'
];
?>
" />
</fieldset>
</form>
<?php
}
?>
Auf jeder "normalen" WB-Seite funktioniert er bestens. Liegt es an der intro.php oder eher am Code?
Kannst Du das mal bitte bei Dir testen?
Gruß,
Timog
Logged
doc
Guest
Re: Eingangsseite mit php-Code?
«
Reply #8 on:
February 16, 2007, 06:07:11 AM »
Hi Timog,
wie bereits in einem vorigem Post beschrieben, scheint PHP Code in der intro.php nicht zu funktionieren. Wird die intro.php über Webseite Baker aufgerufen, scheint der enthaltene PHP Code nicht geparst zu werden (Du siehst also die PHP Zeilen im Quelltext der HTML Seite).
Rufts Du die intro.php aber direkt über die URL Deines Browsers auf (
http://DEINE_DOMAIN.com/pages/intro.php
), wird der PHP Code geparst.
Schreib einfach mal die folgendem Zeilen in die intro.php und rufe das ganze einmal über WB, einmal direkt über die URL auf und schau Dir beide male den HTML Quellcode an, dann siehst Du was ich meine.
Code:
<html>
<head><title>Intropage</title></head>
<body>
<h1>Test</h1>
<?php
echo
"Hallo Welt"
;
?>
</body>
</html>
Noch kurz zu Deinem Code. Ich befürchte die intro.php bindet nicht automatisch die Webseite Baker Klassen ein, daher wird FRONTEND_LOGIN etc. wohl auch nicht funktionieren.
Gruss Christian
Logged
Timog
Offline
Posts: 36
Re: Eingangsseite mit php-Code?
«
Reply #9 on:
February 16, 2007, 01:55:23 PM »
Danke Christian, jetzt ist die Sache schon etwas klarer.
Und da gibt es auch wirklich keinen Workaround? Ihr habt doch sonst immer klasse Ideen!
Schade....
Gruß,
Timog
«
Last Edit: February 16, 2007, 04:23:49 PM by Timog
»
Logged
doc
Guest
Re: Eingangsseite mit php-Code?
«
Reply #10 on:
February 16, 2007, 05:06:46 PM »
Hi Timog,
da ich von Natur aus neugierig bin, habe ich mir das ganze etwa genauer angesehen.
Die Funktion
page_select()
in der Datei
/framework/class.frontend.php
steuert die Anzeige der Seite
/pages/intro.php
.
Warum es per Default nicht geht:
Der Inhalt der Textdatei /pages/intro.php wird als String eingelesen und mittels echo Funktion auf dem Bildschirm ausgegeben. Wenn Du also in /pages/intro.php die Zeile
Code:
<?php
echo
"Hallo Welt"
;
?>
stehen hast, macht die echo Funktion folgendes daraus:
Code:
echo "
<?php
echo \
"Hallo Welt\" ?>
;"
?>
Sprich die PHP Befehle werden nicht vom PHP Interpreter ausgeführt und übersetzt, sondern einfach als Text ausgegeben.
Workaround:
Schicke den Inhalt von /pages/intro.php als Header. Suche in der Datei
/framework/class.frontend.php
die Funktion
page_select
(Zeile 62) und füge vor den Befehl
echo($content);
den nachfolgend dargestellten Header Befehl ein.
Code:
<?php
if(
file_exists
(
$filename
)) {
$handle
= @
fopen
(
$filename
,
"r"
);
$content
= @
fread
(
$handle
,
filesize
(
$filename
));
@
fclose
(
$handle
);
$this
->
preprocess
(
$content
);
header
(
"Location: pages/intro.php"
);
// send intro.php as header to allow parsing of php statements
echo (
$content
);
return
false
;
}
?>
Jetzt wird enthaltener PHP Code interpretiert.
Gruss Christian
P.S.: Werde Ryan fragen, ob es einen speziellen Grund für den echo Befehl gab. Wenn nicht, können wir das ganze in v2.6.6 aufnehmen.
P.P.S.: Habe noch @ Zeichen vor fopen, fread und fclose gesetzt. Dies verhindert, dass PHP Warn- und Fehlermeldungen ausgibt (z.B. wenn die Datei intro.php leer ist)
«
Last Edit: February 16, 2007, 07:53:31 PM by doc
»
Logged
Timog
Offline
Posts: 36
Re: Eingangsseite mit php-Code?
«
Reply #11 on:
February 16, 2007, 05:32:06 PM »
Hi Christian,
wow! Wie geil ist das denn? Du bist absolut spitze!
Irgendwie hatte ich doch schon Recht mit meinem Gefühl, daß Du eine Lösung findest.
Super. Vielen vielen Dank.
Werde ich sofort testen.
Gruß,
Timog
Logged
Timog
Offline
Posts: 36
Re: Eingangsseite mit php-Code?
«
Reply #12 on:
February 17, 2007, 12:01:00 AM »
Hallo Christian,
nun ja, php-Code wird nun geparst, aber wie Du schon geschrieben hast werden wahrscheinlich die WB Klassen nicht eingebunden.
Auf jeden Fall funktioniert mein Login mit "FRONTEND_LOGIN" leider nicht.
Kannst Du dafür auch noch ein Workaround zaubern? Dann wäre die ganze Sache natürlich komplett rund.
Gruß,
Timog
Logged
Hans aus Berlin
Offline
Posts: 88
Re: Eingangsseite mit php-Code?
«
Reply #13 on:
February 17, 2007, 12:42:20 PM »
Hi WB-Friends,
habe gerade in'nem Kitchen-Smalltalk mit meinem Kollegen gedacht, vielleicht ließe sich das Problem evtl. unter einem Mix aus Verwendung des 'Blank Template' für die Startseite - (Design muss entsprechend angepasst werden) und dem Modul 'Code' lösen.
Nur so ein Gedanke, können es leider im Moment nicht selbst probieren.
Gruß Hans
Logged
Timog
Offline
Posts: 36
Re: Eingangsseite mit php-Code?
«
Reply #14 on:
February 17, 2007, 02:04:03 PM »
Hallo Hans,
erklär doch mal bitte ein wenig genauer. Gute Ideen sind immer willkommen.
Gruß,
Timog
Logged
Hans aus Berlin
Offline
Posts: 88
Re: Eingangsseite mit php-Code?
«
Reply #15 on:
February 17, 2007, 03:42:29 PM »
Was soll ich da erklären? Ich nehme an, wenn Du solch ein Thema anfragst, bist Du halbwegs fit in der PHP-Materie.
Erzeuge eine neue Seite, wähle statt WYSIWYG das Code-Modul
stelle anschließend das Design in den Seiten-Einstellungen um auf 'Blank Template' nun haste eine quasi Leerseite mit Code-Modul
Stelle sie als Startseite an erster Stelle
und spiele etwas mit Deinem Code über das Modul rum.
Wenn es klappt, verpasste dieser Seite nur noch die gewünschten Teile deines Designs (von Hand).
Wir haben auf solch eine Weise einmal eine Start-Seite in WB eingebunden, die keine WB-typ. Menü-Eigenschaften haben sollte. Der Web-Besucher sollte vielmehr eine Vorab-Auswahl auf einer, in einem Flash-Film eingebetteten Navi-Karte treffen, die ihn dann gleich direkt auf eine für seine Auswahl passende Seite routete. (So nach dem Motto "wähle Deine Stadt = Willkommen in Berlin by Fun bla...")
Bist Du mit den Besonderheiten des Code-Moduls vertraut?
Gruß Hans
Logged
Timog
Offline
Posts: 36
Re: Eingangsseite mit php-Code?
«
Reply #16 on:
February 17, 2007, 04:05:14 PM »
Hallo Hans,
ein bißchen fit in php bin ich schon. Der erste Absatz ist schon klar, das habe ich bis jetzt auch so gemacht, nur habe ich das Problem, daß auf meinen Folgeseiten dann immer ein Link zu meiner Startseite zu sehen ist und der soll weg.
Was meinst Du denn mit Besonderheiten des Code-Moduls?
Gruß,
Timog
Logged
Hans aus Berlin
Offline
Posts: 88
Re: Eingangsseite mit php-Code?
«
Reply #17 on:
February 17, 2007, 04:22:14 PM »
Verstehe! Wir haben unsere Home mit einem weiteren, wir nennen es Footer-Menü versehen.
D.H. der Menü-Punkt Home steht bei uns dadurch im Footer. Ist so zwar etwas versteckt, aber eben nicht unsichtbar.
Bei unsichtbar fällt mir spontan nur gleiche Farbe ein
Habe jetzt irgendwie keinen Plan, was Du Dir da bauen willst
Logged
Hans aus Berlin
Offline
Posts: 88
Re: Eingangsseite mit php-Code?
«
Reply #18 on:
February 17, 2007, 05:38:42 PM »
Sorry - vergessen: Kennst Du das Code-Modul? Hast Du es schon benutzt?
Logged
ruebenwurzel
WebsiteBaker Org e.V.
Offline
Posts: 7973
Re: Eingangsseite mit php-Code?
«
Reply #19 on:
February 17, 2007, 06:16:48 PM »
Hallo,
so also hier jetzt die Lösung die definitv funktioniert:
1. Lade dir die angehängte Datei herunter, benenne sie um in class.frontent.php und ersetze die Datei auf deinem Server mit dieser.
2. Aktiviere "Eingangseite verwenden" in den erweiterten Optionen von WB.
3. Gehe auf "Seiten" - "Eingangsseite ändern"
4. Wechsle im WYSIWYG Editor zum Quellcodefenster und füge folgenden Code ein:
Code:
<form name="login" action="http://localhost/wb265/account/login.php?redirect=http://localhost/wb265/pages/start.php" method="post" class="login_table">
<table width="50%" cellspacing="0" cellpadding="5" border="0" align="center">
<tbody>
<tr>
<td style="text-align: right;">Benutzername:</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td style="text-align: right;">Passwort:</td>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td style="text-align: left;"> </td>
<td><input type="submit" name="submit" value="Anmelden" /></td>
</tr>
<tr align="left">
<td colspan="2" style="text-align: center;"><a href="http://localhost/wb265/account/forgot.php">Anmeldedaten vergessen?</a></td>
</tr>
</tbody>
</table>
</form>
5. Ersetze in diesem code "
http://localhost/wb265
" durch die URL deiner Seite
6. Ersetze in diesem code in der ersten Zeile "start.php" durch die Seite, die unmittelbar nach dem login aufgerufen werden soll.
7. Speichere die Eingangsseite.
8. Setze alle anderen Seiten deiner Page auf "privat"
So damit passiert folgendes:
-Wenn jemand deine URL aufruft sieht er nur das Login.
-Wenn jemand sich einlogt sieht er deine komplette Seite und im Menü keinen Hinweis auf die Loginseite.
Was noch nicht so ganz schön ist:
-Wenn jemand trotz dass er eingeloggt ist nur die URL eingibt sieht er nur die Loginseite und wird nicht automatisch weitergeleitet.
-Wenn sich jemand ausloggt bekommt er die Fehlerseite "Seiten momentan in Bearbeitung" angezeigt.
Hoffe das hilft dir weiter
Matthias
Logged
Timog
Offline
Posts: 36
Re: Eingangsseite mit php-Code?
«
Reply #20 on:
February 17, 2007, 06:49:17 PM »
Hallo Mattias.
Spitze!
Der Login funktioniert ja schon mal bestens und die Weiterleitung auf meine Seiten auch. Genau sowas hatte ich gesucht.
Hast Du vielleicht auch noch eine Idee, wie die beiden Einschränkungen zu lösen sind? Sieht momentan noch nicht besonders professionell aus.
Gruß,
Timog
Logged
Hans aus Berlin
Offline
Posts: 88
Re: Eingangsseite mit php-Code?
«
Reply #21 on:
February 17, 2007, 09:47:19 PM »
Siehste Matthias,
nu hat och dat Hänschen kapiert, wat der Timog sisch da baun will. Machste neben der Mucke und dem Proggen och noch wat anderes? Nee is jut - SUPAAA!!!
Logged
chio
WebsiteBaker Org e.V.
Offline
Posts: 2264
Re: Eingangsseite mit php-Code?
«
Reply #22 on:
February 17, 2007, 10:19:45 PM »
Möglicherweise habe ich die Frage nicht ganz verstanden, aber:
Warum machst du nicht einfach ein eigenes Template - mit php und allem (nicht) drin - nur für die Startseite?
Logged
*weg*
ruebenwurzel
WebsiteBaker Org e.V.
Offline
Posts: 7973
Re: Eingangsseite mit php-Code?
«
Reply #23 on:
February 18, 2007, 07:59:09 AM »
@chio
weil dann diese Seite immer auch im Menü auftaucht. Man könnte es auch dadrüber lösen, aber dann muss man mit multiplen Menus schaffen. Hab das aber noch nicht durchgetestet.
@hans
ab und zu genehmige ich mir dann auch noch 1-2 Stunden Schlaf
@timog
man könnte das vielleicht mit if user authenticated .... Abfrage hinbekommen, muss das aber noch testen.
Matthias
Logged
Pages: [
1
]
Go Up
Jump to:
Please select a destination:
-----------------------------
General
-----------------------------
=> General Announcements
=> Security Announcements
=> Documentation
=> WebsiteBaker Website Showcase
=> Guest Area & Off-Topic
-----------------------------
English
-----------------------------
=> WebsiteBaker 2.9
===> Announcements
===> Help/Support
=====> Modules / Extensions
===> Suggestions
===> Software bugs
=> Help & Support
=> Modules
=> Droplets (PHP code for use with Droplet module) & Snippets (raw PHP code)
=> jQuery
=> Templates, Menus & Design
=> WebsiteBaker Language Files
=> WebsiteBaker 2.x discussion
=> WebsiteBaker 3
=> Archive (posts up to 2007)
-----------------------------
Deutsch (German)
-----------------------------
=> Ankündigungen
=> WebsiteBaker 2.9
===> Ankündigungen
===> Hilfe/Support
=====> Module / Extensions
===> Vorschläge
===> Softwarefehler
===> Erfahrungs und Testberichte
=> Hilfe/Support
=> Module & Snippets
=> Templates & Design
=> Tutorials
=> jQuery
=> Diskussion über WB
=> Off-Topic
=> Archiv für Themen bis 2007
-----------------------------
Nederlands (Dutch)
-----------------------------
=> Aankondigingen
=> Hulp & Ondersteuning
=> Niet-Terzake (Off Topic)
-----------------------------
Francais (French)
-----------------------------
=> Help/Support
-----------------------------
Italiano (Italian)
-----------------------------
=> Help/Support
-----------------------------
Bakery (WB shop module)
-----------------------------
=> Bakery English
=> Bakery Deutsch
-----------------------------
KeepInTouch (Multi Contact Module)
-----------------------------
=> KeepInTouch English
=> KeepInTouch Deutsch
Loading...