Willkommen im neuen Forum von concrete5.de.
Die Anmeldung ist ab dem 15.10.2020 nur noch mit E-Mail Adresse und Passwort möglich. Eine Anmeldung mit Benutzername ist nicht mehr möglich.

Diese Nachricht löschen.
Anhang entfernen?
Zurück zur Themenliste
R
Remo 0.png 27.06.2011 08:39

Wie und Wo optimalerweise JavaScript in meine Seite einbinden?

Da musst du uns zuerst noch ein paar Informationen geben. Wo liegt dein PHP Script? Hast du einen Block erstellt oder ein Theme oder ein Block Template? Ein PHP Snippet allei n reicht nicht, das hängt alles davon ab wo's verwendet wird.. Was aber auf jeden Fall zu beachten ist: Nie und auch gar nie etwas im Ordner "concrete" anpassen. Dies ist der "Core" von concrete5 und wird bei einem Update ausgetauscht! Alles was sich dort befindet geht verloren! Grundsätzlich ist bei concrete5 fast die ganze Struktur doppelt. Damit kannst du einzelne Files überschreiben, ohne etwas im Core anzupassen.
P
Prof.P 0.png 27.06.2011 08:47
Hallo, Ich möchte gerne eine Seite in meinem conrete5 haben, in der ich per PHP script Datenbankeinträge mache, soweit klappt das auch alles. Dazu habe ich mir das PHP Code package installiert ("nd_php_package"). Jetzt will ich aber per JavaScript noch eine Kalender-Funktion haben und diverse clientseitige Eingabeprüfungen usw. Dazu habe ich mir eine JavaScript-Library runtergeladen und will die einbinden. Jetzt kommt die große Preisfrage: wie und wo mach ich das am besten? Ich mache das derzeit in meinem PHP script, aber es klappt nicht, weil ich die location der .JS-files nicht kenne. Dachte da an sowas: PHP-Code: echo " "; Aber wo lege ich diese Datei calendarDateInput.js hin? Nach \concrete5\concrete\js oder \concrete5\js Und wo bau ich den Aufruf ein? Am liebsten in meinem PHP snippet, da ich ihn ja nur auf der einen Seite brauche und nicht in den Template Header usw.. concrete5.4.1.1
R
Remo 0.png 27.06.2011 08:48
Sorry, noch etwas. Concrete5 enthält bereits einen Date Picker den man mit zwei Zeilen Code einbinden kann. Schau dir doch mal diese Seite an http://www.concrete5.org/documentation/developers/forms/concrete5-widgets
P
Prof.P 0.png 27.06.2011 10:11
Danke für die prompte Antwort. 1.) das DateTime-Widget schaue ich mir an, Danke. 2.) Mein PHP-script liegt nirgendwo als Datei von mir auf dem Server. Ich gehe so vor: Ich erstelle eine neue Seite im Frontend. Ich füge einen Block hinzu: "PHP Code". Der Content vom PHP Code Block ist dann mein PHP code, liegt also dann in dieser Seite (Area "Main").
R
Remo 0.png 27.06.2011 10:26
Alles klar, danke! Ich denke nicht dass der PHP Code Block für sowas optimal ist. Grundsätzlich wird ein Block ja im Inhalt (Body) eingefügt, JavaScripts gehören aber eigentlich in den Kopf. Sowas wäre bei concrete5 problemlos möglich, aber nur mit einem eigenen Block. In einem eigenen Block kann man einen Ordner "js" oder auch "css" erstellen. Alle Files mit der passenden Endung werden dann automatisch eingebunden. Am besten testen indem man einen einfachen Block nimmt wie zum Beispiel den http://www.codeblog.ch/de/2009/06/concrete5-staff-table/. Anschliessend einen neuen Ordner anlegen und die Files dort abspeichern.
P
Prof.P 0.png 28.06.2011 16:57
Komme nicht weiter. :-( Wie lese ich werte aus einer Tabelle in meinem Block aus? Habe z.B. eine db.xml mit zwei Spalten "bID" und "name": <?xml version="1.0"?> Wie lese ich die aus?? Habe view.php geschrieben: <?php echo $name?> Aber ich seh die Einträge nicht im Block!? (Hab mit phpMyAdmin ein paar Datensätze erfaßt.) Geht das nicht ueber die API? Muss ich mir SELECT-Statement basteln?
P
Prof.P 0.png 28.06.2011 16:59
ProfP Re: Wie und Wo optimalerweise JavaScript in meine Seite einbinden? 28.06.2011 16:57:28 Komme nicht weiter. :-( Wie lese ich werte aus einer Tabelle in meinem Block aus? Habe z.B. eine db.xml mit zwei Spalten "bID" und "name": <?xml version="1.0"?> Wie lese ich die aus?? Habe view.php geschrieben: <?php echo $name?> Aber ich seh die Einträge nicht im Block!? (Hab mit phpMyAdmin ein paar Datensätze erfaßt.) Geht das nicht ueber die API? Muss ich mir SELECT-Statement basteln?
P
Prof.P 0.png 28.06.2011 17:11
aber geht trotzdem nicht...
R
Remo 0.png 29.06.2011 07:18
Die Tabelle die du im controller.php File bei btTable angibst, wird automatisch gemappt und steht in view.php zur Verfügung. Im Controller mit $this->name und in view.php mit $name. Mach aber auf gar keinen Fall Einträge mit phpMyAdmin wenn du die internals von concrete5 nicht kennst. bID darfst du zum Beispiel auf keinen Fall selber generieren! Und stelle auch sicher, dass du die "Block Refresh" Funktion ausführst wenn du etwas an db.xml geändert hast. Alternativ hilft wohl auch ein Uninstall + Install. Wenn's dann noch immer nicht klappt --> bitte Block in ein ZIP packen und hier anhängen..

Nachricht hinzufügen