[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Wie eine Seite mit Inhalt füllen - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
webstar
Beiträge: 54
Registriert: 1. Nov 2005, 12:51
Wohnort: Erfurt
Kontaktdaten: ICQ

Wie eine Seite mit Inhalt füllen

1. Nov 2005, 13:23

Hallo Profis,

Eigentlich gehört dieser Post in alle Foren, weil irgendwie von allem was drin ist.

Vorerst mal zu meinen Skills. Üblicherweise arbeite ich viel mit HTML, somit bereitet mir das nicht wirklich Probleme. Außerdem hab ich häufig mit Flash zu tun. Beim Thema PHP bricht es mir jedoch ständig das Genick was ich wohl auch auf meine Programmierschwäche zurückführen kann.

Zum Thema:
Ich habe vor Redaxo R3 für eine Webseite zu nutzen. Nun möchte ich vorab ersteinmal eine kleine Präsentation erstellen, sprich eine Minimalversion zum testen zusammenbauen. Alles was es können muss ist, das eine kleine Navi aus 2 Punkten dargestellt werden soll. Dazu kommt, das eine Seite erstellt werden soll, in der in Tabellenform verschiedene Datensätze nacheinander angezeigt werden sollen. Im Backend sollen diese Datensätze dann bearbeitet werden können, zudem soll aus dem Medienpool ein Bild für jeden Datensatz abrufbar sein.

Die Installation funktionierte reibungslos. Ich habe zudem schon eine Kategorie und darunter 2 Artikel erstellt. Der erste Artikel soll lediglich als Index dienen, soll also die Inhalte und Navigation nicht direkt enthalten.
Das Template sieht folgendermaßen aus:

Code: Alles auswählen

<html>
<head>
<title>Redaxo Demo
</head>

<body>

<!--Haupttabelle-->

<table bgcolor="#5F5F5F" width="800" align="center">

<!--Headerspalte-->
<tr>
	<td>
	</td>
</tr>
<!--Headerspalte Ende-->

<!--Navispalte-->
<tr>
	<td bgcolor="#FF0000">
	</td>
</tr>
<!--Navispalte Ende-->

<!--Inhaltsspalte-->
<tr>
	<td align="center">
	</td>
</tr>
<!--Inhaltsspalte Ende-->

<!--Haupttabelle Ende-->

</body>
</html>
Ich hab im Handbuch gelernt das man per

Code: Alles auswählen

echo $this->getArticle();
einen Artikel einbinden kann. Allerdings weiß ich noch nicht wo hier der Name des Artikels eingetragen werden soll.

Desweiteren weiß ich das man per

Code: Alles auswählen

<a href=index.php?article_id=22>
im Navigationstemplate Links setzten kann. Allerdings frage ich mich woher ich die ID des jeweiligen Artikels bekomme?Zumal stellt sich mir die Frage ob Artikel auch Kategorieübergreifend ausgelesen werden können.

Im Contentbereich soll zumal ein einfacher Text stehen.Dieser soll wenn möglich per WYSIWYG-Editor eingefügt werden können.Allerdings hab ich keine Ahnung woher ich einen solchen Block bekomme und wie ich ihn importiere. Im Forum habe ich gelesen, das der Editor nur in der Demoversion dabei ist, also kopierte ich das tiny...Verzeichniss auf den Webspace wo es hin gehörte. Allerdings kann ich noch immer keinen Block auswählen.

Wo wir grad beim Thema sind, beim Erstellen eines Moduls komm ich nicht ganz klar. Was soll denn in die Felder "Eingabe" und "Ausgabe"? Muss da jetzt ein Scriptbefehl rein per php oder Java? Ich komm da nicht ganz klar.
Im Downloadbereich hab ich auch noch kein wirklich brauchbares Modul zu dieser Thematik gefunden.

Tja ihr seht schon, Fragen über Fragen,ein rauchender Kopf und ein hilfloser User mehr.

MfG
Unwissenheit schützt nicht vor Mittäterschaft.

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

1. Nov 2005, 13:32

Hi webstar,

für mich klingt das alles ein wenig nach den grundlegenden Zügen eines CMS.

Um erstmal ein wenig gefühl für REDAXO zu bekommen, würd ich mir einfach mal einen Testwespace (evtl. subdomain) einrichten, auf dem dann die REDAXO Demo importiert wird (je nach Forderung multilang oder normal).

Dann darin einfach mal mit dem Aufbau der Struktur, die Templates und den Modulen befassen.

Auf einer 2. Subdomain dann einfach ein weiteres REDAXO installieren und dort dann alles was du aus der Demo brauchen kannst hineinkopieren. (NICHT DIE DATEIEN! nur Module/Templates etc..)

Dann lernst du so langsam wie das alles so läuft..

Fertige Module und Templates findest du in der Modulsammlung oder Templatesammlung

Wenn weitere Fragen auftreten, einfach Fragen ;)

Gruß,
Markus

webstar
Beiträge: 54
Registriert: 1. Nov 2005, 12:51
Wohnort: Erfurt
Kontaktdaten: ICQ

1. Nov 2005, 14:02

Also ich habe jetzt einmal eine neue Subdomain eingerichtet. Auf dieser läuft im Moment die Demo.Auf der anderen die "Vollversion".

Zudem hab ich mir eben mal das default-Template angeschaut. Leider ergeben sich daraus keine für mich klar ersichtlichen Strukturen. Kurz gesagt, es ist einfach zu verwirrend :-)

Ich glaube aber im Bezug auf die Module verstehe ich wie du das gemeint hast. Einfach den Quelltext aus den Modulen "klauen" und ein neues in der anderen Version anlegen oder?
Unwissenheit schützt nicht vor Mittäterschaft.

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

1. Nov 2005, 15:24

Hej,
du darfst dir auch die Dokumentation [1] natürlich durchlesen. Dort findet man nützliche Dinge und es wird erklärt, wie Redaxo arbeitet.

[1] http://www.redaxo.de/4-0-dokuredaxode.html

Thomas

webstar
Beiträge: 54
Registriert: 1. Nov 2005, 12:51
Wohnort: Erfurt
Kontaktdaten: ICQ

1. Nov 2005, 15:57

Mach ich ja nebenbei. Aber zugegebenermaßen ist das ganze für jemanden der PHP als notwendiges Übel hinnimmt nicht allzu leicht. :D

Noch ein Frage. Wenn ich einen Artikel erstellt habe, dem einen Block zugewiesen habe und diesen mit Text gefüllt habe, muss ich dann für diesen Artikel noch ein Template schreiben, der ihm sagt wo der Text hinkommt?
Unwissenheit schützt nicht vor Mittäterschaft.

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

1. Nov 2005, 16:19

Hej,
webstar hat geschrieben:Mach ich ja nebenbei. Aber zugegebenermaßen ist das ganze für jemanden der PHP als notwendiges Übel hinnimmt nicht allzu leicht.


Ohne Php und MySQL Kenntnisse ist Redaxo zwar benutzbar, du kommst aber nicht in den vollen Genuss von Redaxo. Also Php und MySQL lernen.
webstar hat geschrieben: Noch ein Frage. Wenn ich einen Artikel erstellt habe, dem einen Block zugewiesen habe und diesen mit Text gefüllt habe, muss ich dann für diesen Artikel noch ein Template schreiben, der ihm sagt wo der Text hinkommt?
Jeden Artikel den du erstellst musst du ein Template zuweisen. Das machst du nicht im Editiermodus sondern in der Strukturverwaltung. In dem ausgesuchten template, hast du ja bereits definiert wo dann der Inhalt stehen soll. Definiert hast du es mit $this->getArticle();

Thomas

webstar
Beiträge: 54
Registriert: 1. Nov 2005, 12:51
Wohnort: Erfurt
Kontaktdaten: ICQ

1. Nov 2005, 17:20

Hallo,

also wi schon beschrieben, habe ich jetzt einen Artikel der von mir per Block nen Blindtext bekommen hat.
Für diesen Artikel habe ich folgendes Template erstellt:

Code: Alles auswählen

<html>

<head>
</head>

<body>
<div align="left" color="#FFFFFF">

<?php
echo $this->getArticle();
?>

</div>

</body>
</html>
Die Indexseite trägt folgendes Template:

Code: Alles auswählen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
<title>Redaxo Demo
</head>

<body>

<!--Haupttabelle-->

<table bgcolor="#5F5F5F" width="800" align="center">

<!--Headerspalte-->
<tr>
	<td>
	</td>
</tr>
<!--Headerspalte Ende-->

<!--Navispalte-->
<tr>
	<td bgcolor="#FF0000">
        <?php
			foreach (OOCategory::getRootCategories() as $lev1):
				if($lev1->isOnline()):
					echo '&nbsp;<a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>&nbsp;|';
                                endif;
                        endforeach;
        ?>
	</td>
</tr>
<!--Navispalte Ende-->

<!--Inhaltsspalte-->
<tr>
	<td align="center">

        <div color="#FFFFFF">
        <?php
        echo $this->getArticle(); 
        ?>
        </div>
	</td>
</tr>
<!--Inhaltsspalte Ende-->

</table>
<!--Haupttabelle Ende-->

</body>
</html>
Der Aufbau der Navigation funktioniert auch, bloß wird einfach der Blindtext nicht angezeigt. Wo hängts denn jetzt?

Danke
Zuletzt geändert von webstar am 1. Nov 2005, 17:24, insgesamt 1-mal geändert.
Unwissenheit schützt nicht vor Mittäterschaft.

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

1. Nov 2005, 17:22

Hi,

Warum 2 Templates?

Setze bei deinem Artikel mal das INDEX-Template.

Gruß,
Markus

webstar
Beiträge: 54
Registriert: 1. Nov 2005, 12:51
Wohnort: Erfurt
Kontaktdaten: ICQ

1. Nov 2005, 17:25

Hab auch schon versucht wie in der Demo allen beiden Artikeln das gleiche Template zu verpassen, aberirgendwie will das auch nicht funzen.

Zur Struktur ist zu sagen, das beide Artikel in einer Kategorie stecken.Der Indexartikel hat Prio1 der Testartikel die Prio2.
Unwissenheit schützt nicht vor Mittäterschaft.

webstar
Beiträge: 54
Registriert: 1. Nov 2005, 12:51
Wohnort: Erfurt
Kontaktdaten: ICQ

2. Nov 2005, 19:17

Keiner n Lösungsansatz parat?
Unwissenheit schützt nicht vor Mittäterschaft.

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

3. Nov 2005, 00:04

Hi,

kann man das mal online sehen, ich kann mir aktuell kein Bild machen ;)

Gruß,
Markus

webstar
Beiträge: 54
Registriert: 1. Nov 2005, 12:51
Wohnort: Erfurt
Kontaktdaten: ICQ

3. Nov 2005, 10:03

Also die Sache hat sich wohl geklärt. Nachdem ich noch n bissl rumprobiert habe konnte ich dann den Fehler finden. Musste mir nur erstmal klar machen, das nicht jeder Artikel n eigenes Template brauch.

Das Template sieht jetzt folgendermaßen aus:

Code: Alles auswählen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
<title>IVC Redaxo Demo
</head>

<body>

<!--Haupttabelle-->

<table bgcolor="#FFFFCC" width="800" align="center">

<!--Headerspalte-->
<tr>
	<td>
	</td>
</tr>
<!--Headerspalte Ende-->

<!--Navispalte-->
<tr>
	<td bgcolor="#FFFF99">
        <?php
			foreach (OOCategory::getRootCategories() as $lev1):
				if($lev1->isOnline()):
					echo '&nbsp;<a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>&nbsp;|';
                                endif;
                        endforeach;
        ?>
	</td>
</tr>
<!--Navispalte Ende-->

<!--Kategorie-Anzeigespalte-->
<tr>
        <td align="left" bgcolor="#FFFF99">
        <?php
         print '<h1>'.$this->getValue(name).'</h1>';
        ?>
        </td>

<tr>

<!--Inhaltsspalte-->
<tr>
	<td align="center">

        <div color="#FFFFFF">
        <?php
        echo $this->getArticle(); 
        ?>
        </div>
	</td>
</tr>
<!--Inhaltsspalte Ende-->

</table>
<!--Haupttabelle Ende-->

</body>
</html>
Klappt eigentlich alles bisher. Jetzt muss ich nur noch rausbekommen wie ich die Datenbankabfrage so gestalte, das mir bei Bedarf Einträge in einem bestimmten Modul nach nem Kriterium sortiert werden. Die DB hab ich mir schon angesehen. Wenn ich die Lösung hab wird sie natürlich gepostet.

MfG
Unwissenheit schützt nicht vor Mittäterschaft.

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

3. Nov 2005, 11:19

Hi,
webstar hat geschrieben:Also die Sache hat sich wohl geklärt. Nachdem ich noch n bissl rumprobiert habe konnte ich dann den Fehler finden. Musste mir nur erstmal klar machen, das nicht jeder Artikel n eigenes Template brauch.
Hab ich ja oben gesagt,.. ;)
webstar hat geschrieben: Klappt eigentlich alles bisher. Jetzt muss ich nur noch rausbekommen wie ich die Datenbankabfrage so gestalte, das mir bei Bedarf Einträge in einem bestimmten Modul nach nem Kriterium sortiert werden. Die DB hab ich mir schon angesehen. Wenn ich die Lösung hab wird sie natürlich gepostet.
Wie meinst du das?

Gruß,
Markus

webstar
Beiträge: 54
Registriert: 1. Nov 2005, 12:51
Wohnort: Erfurt
Kontaktdaten: ICQ

3. Nov 2005, 12:28

Also was ich vorhabe ist eigentlich folgendes.

Es gibt einen Artikel innerhalb ner Kategorie. Für diesen Artikel habe ich nun ein Modul geschrieben, welches wie folgt aussieht:

Eingabe:

Code: Alles auswählen

Immobilienart:<br />
<input type="text" size="50" name="VALUE[1]" value="REX_VALUE[1]" />
<br/>

Lage:<br />
<input type="text" size="50" name="VALUE[2]" value="REX_VALUE[2]" />
<br/>

m²:<br />
<input type="text" size="4" name="VALUE[3]" value="REX_VALUE[3]" />
<br/>

R&auml;ume:<br />
<input type="text" size="3" name="VALUE[4]" value="REX_VALUE[4]" />
<br/>

Kaufpreis in Euro:<br />
<input type="text" size="10" name="VALUE[5]" value="REX_VALUE[5]" />
<br/>

Beschreibung:<br />
<textarea cols="49" rows="7" name="VALUE[6]" value="REX_VALUE[6]" ></textarea>
<br/>

Bild:<br />
REX_MEDIA_BUTTON[1]
Ausgabe:

Code: Alles auswählen

<table width="600" bgcolor="#FFFF99" align="right">
<tr>
	<td rowspan="6" valign="top" align="center"><img src="<?php echo $REX[HTDOCS_PATH]; ?>/files/REX_FILE[1]" width="200" height="200"></td>
        <td>Immobilienart:</td>
	<td>REX_VALUE[1]</td>
</tr>

<tr>
        <td>Lage:</td>
	<td>REX_VALUE[2]</td>
</tr>

<tr>
        <td>m²</td>
	<td>REX_VALUE[3]</td>
</tr>

<tr>
        <td>R&auml;ume:</td>
	<td>REX_VALUE[4]</td>
</tr>

<tr>
        <td>Kaufpreis in Euro:</td>
	<td>REX_VALUE[5]</td>
</tr>
<tr>
        <td>Beschreibung:</td>
	<td>REX_VALUE[6]</td>
</tr>

</table>
Also jedesmal wenn ein neues Modul angelegt wird wird auf der Seite logischerweise ne neue Tabelle angefügt.
Jetz soll bei Bedarf der User die Einträge nach z.B "Lage" sortieren können.
Dazu hab ich mir wie gesagt die DB schon mal angeschaut und versuche mich im Moment an der Umsetzung dessen.

Oder gibts ne bessere Variante?
Unwissenheit schützt nicht vor Mittäterschaft.

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

3. Nov 2005, 13:24

Hi,
webstar hat geschrieben: Also jedesmal wenn ein neues Modul angelegt wird wird auf der Seite logischerweise ne neue Tabelle angefügt.
Jetz soll bei Bedarf der User die Einträge nach z.B "Lage" sortieren können.
Dazu hab ich mir wie gesagt die DB schon mal angeschaut und versuche mich im Moment an der Umsetzung dessen.

Oder gibts ne bessere Variante?
Wenn dir kein Javascript zur Verfügung steht, dann wirst du, wie du schon selbst sagst, wird du um eine Sortierung via SQL nicht herumkommen.

Aber es geht auch mit Javascript:

Sortierbare Tabellen mit Javascript - Einführung
Sortierbare Tabellen mit Javascript - Demo

Gruß,
Markus

webstar
Beiträge: 54
Registriert: 1. Nov 2005, 12:51
Wohnort: Erfurt
Kontaktdaten: ICQ

3. Nov 2005, 13:34

Also mit Java hab ich bisher noch gar nicht gearbeitet. Ich schaus mir aber mal an, eventuell ist es ja doch die besser Lösung als das ganze per SQL zu lösen.

Kurze Frage noch. Wenn ich ein CSS File einbinden will, stell ich das in den Medienpool oder aber über die Import/Export Funktion ein? Und wo speichert Redaxo diese Files, man muss sie ja auch entsprechend im Template "verpfaden".
Unwissenheit schützt nicht vor Mittäterschaft.

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

3. Nov 2005, 14:23

Hi,
webstar hat geschrieben:Also mit Java hab ich bisher noch gar nicht gearbeitet. Ich schaus mir aber mal an, eventuell ist es ja doch die besser Lösung als das ganze per SQL zu lösen.
Java ist nicht Javascript, das sind 2 sehr verschiedene Programmiersprachen!

Die Lösung mit Javascript bietet den Vorteil, dass man nicht die Seite neu laden muss um die Tabelle neu zu sortieren. Ich vermute allerdings, das bei Tabellen mit mehr als 60-70 Datensätzen das ganze schon etwas länger dauern kann.
webstar hat geschrieben: Kurze Frage noch. Wenn ich ein CSS File einbinden will, stell ich das in den Medienpool oder aber über die Import/Export Funktion ein? Und wo speichert Redaxo diese Files, man muss sie ja auch entsprechend im Template "verpfaden".
Medienpool und Import/Export haben eigentlich nichts miteinander zu tun.

Im Medienpool werden alle Medien verwaltet (auch CSS Dateien).

Die Seite Import/Export dient lediglich zum Exportieren/Importieren der kompletten REDAXO Datenbank u. Dateien (jeweils getrennt). Damit kann man nichts verwalten...

Du hängst deine Datei am besten in den Medienpool. Alle Dateien die du darin hochlädst, werden im Verzeichnis /files gespeichert.

Die Datei dann im Template mit

Code: Alles auswählen

<link rel="stylesheet" type="text/css" href="<?php echo $REX['HTDOCS_PATH']; ?>/files/meinStyle.css" media="screen" />
einbinden.

Gruß,
Markus

Zurück zu „Allgemeines [R3]“