[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Im Template mit Spalten arbeiten -wie? - 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/
Benutzeravatar
wolle65
Beiträge: 13
Registriert: 18. Jun 2009, 22:13
Wohnort: Wehrheim
Kontaktdaten: Website

Im Template mit Spalten arbeiten -wie?

18. Jun 2009, 22:38

Hallo zusammen,

möchte voranstellen, dass ich bisher mir keinem CMS System was anfangen musste. Nun möchte ich mich aber in diese Materie einarbeiten. Ich bin nun schon 2 Tage - ohne Essen und trinken :lol: am rumbasteln und probieren. finde das redaxo einfach spitze!

Nun möchte ich zum üben an dem Template von Andeas Viklund einige Änderungen machen und schaffe es (natürlich) nicht wie erhofft. Ich denke ich brauche nur einen "Anstoß" wo mein Gedankenfehler ist, ich vermute das ich einfach zu kompliziert denke.

Zuerst was ich machen will.
In diesem Template gibt es ja auf der linken Seite die Navigation, unterhalb der Navigation die "News" , in der Mitte den "Content" und rechts "More Info" bzw. "Links"

Ich wollte jetzt einfach zum Beispiel in den News einen "Link" einfügen, mit einem "Artikel"(?) der dann auch nur als News gepflegt werden muss und dachte an diesen Weg:

Code: Alles auswählen

<div class="announce">
<?php /* Hier kommen News rein ...  */ 
	
   print $this->getArticle(1);
?>
</div>
</div>
Jetzt erscheint aber in der div box der gleiche Inhalt wie im Content, warum?

Im Template selber habe ich:
Spalten [ctypes]

ID=1 / News
Alle Module verfügbar

ID=2 / Referenz
Alle Module verfügbar

Hier mein "Problem": http://www.propresent-media.com/redaxo/ ... =2&clang=0

Danke für einen Hinweis[/img]
...seit 15.Juni 2009 REDAXO 4.2.1 Fan - also von nichts eine Ahnung ;-)

Benutzeravatar
ralf.schlott
Beiträge: 625
Registriert: 5. Dez 2007, 21:22
Wohnort: Hamburch
Kontaktdaten: Website

19. Jun 2009, 11:10

Andreas Viklund Templates sind klasse. Die bringen mich immer auf Ideen.
Aber du gehst da den falschen Weg. Das ist ein Template und nicht für Redaxo angepasst! Das schaffst du aber selbst.
Für News benötigst du ein Modul. Das würde ich auf später verschieben.
Eine passende Navigation musst du dann auch finden...

Und:

Code: Alles auswählen

print $this->getArticle(1);
, entsprechend dann für die andere Spalte:

Code: Alles auswählen

print $this->getArticle(2);
. Und nicht vergessen die Spalten im Backend anzulegen!

Gruss
Ralf

Edit: Essen und Trinken hält Leib und Seele zusammen.

Benutzeravatar
wolle65
Beiträge: 13
Registriert: 18. Jun 2009, 22:13
Wohnort: Wehrheim
Kontaktdaten: Website

20. Jun 2009, 07:53

rsi hat geschrieben:
Und:

Code: Alles auswählen

print $this->getArticle(1);
, entsprechend dann für die andere Spalte:

Code: Alles auswählen

print $this->getArticle(2);
. Und nicht vergessen die Spalten im Backend anzulegen!
hallo und danke für die tipss,
aber dennoch "kurz" gefragt.
Wenn du sagst die Spalten im Backend, dann meinst Du ja den Punkt unter "Template editieren" - also: Spalten [ctypes]...

Bedeutet also, dass die Spalte eingetragen wird, wenn ich o.g. Code einfüge. Ich verstehe das so:

print $this->getArticle(0) - zeigt den "Content" inhalt (bzw. das Template komplett) !?
print $this->getArticle(1) - zeigt Spalte 1
print $this->getArticle(2) - usw....

korrekt?

Danke und Gruß
Wolfgang
...seit 15.Juni 2009 REDAXO 4.2.1 Fan - also von nichts eine Ahnung ;-)

therancher
Beiträge: 488
Registriert: 29. Jan 2007, 18:32
Wohnort: Sachsen

20. Jun 2009, 18:43

Hi,
korrekt?


die ids der spalten beginnen (seit rex4) mit 1.

getarticle() ist gleich getarticle(1)

gruss, HarryT
spontanität will wohl überlegt sein!

Benutzeravatar
wolle65
Beiträge: 13
Registriert: 18. Jun 2009, 22:13
Wohnort: Wehrheim
Kontaktdaten: Website

21. Jun 2009, 13:13

therancher hat geschrieben: die ids der spalten beginnen (seit rex4) mit 1.
getarticle() ist gleich getarticle(1)
gruss, HarryT
nur nochmals zum verständnis.
wenn ich also in einem template (mit spalten bzw div container) arbeite, wird bei:


getarticle() ist gleich getarticle(1) das ganze template angezeigt.
und wenn ich

getarticle (2,3,4 usw) dann dort die spalten?

ist dass generell auch in einer html seite möglich?
wenn ich in "frames" die dateien für redaxo aufrufe...??!

ich habe einige seiten gesehen, wo als template nur ein verweis zu einer php datei steht bspl.

Code: Alles auswählen

<?php
if(!$REX['redaxo'])
{
        include_once 'templates/default.php';
}
?>
was ist der sinn dahinter bzw. kann ich so auch auf ein html - template verweisen ?

danke und gruß
wolfgang
...seit 15.Juni 2009 REDAXO 4.2.1 Fan - also von nichts eine Ahnung ;-)

Benutzeravatar
wolle65
Beiträge: 13
Registriert: 18. Jun 2009, 22:13
Wohnort: Wehrheim
Kontaktdaten: Website

21. Jun 2009, 14:37

..ich bins nochmal...

das sind die Spalten unter meinem Template (default):

Spalten [ctypes]

ID=1 | Inhalt
Alle Module verfügbar

ID=2 | News
Nur folgende Module sind verfügbar
Newsmodul inkl. optionalem Vorschaubild & Bildgalerie [wobei ich keine bilder einbinden kann mit diesem Tool!?]
Textund/oder Bild mit Bildberechnung

ID=3 | Estras
Alle Module verfügbar

Im Template habe ich folgenden Code angepasst:

Code: Alles auswählen

<div class="announce"><br />
<?php /* hier wird der News Inhalt eingefügt, der zu dem aktuellen Artikel gehört */
echo "<div>".$this->getArticle(2)."</div>";?>
</div>

</div>
Habe dann in der Strukturverwaltung einen Artikel angelegt (Name News, Arikel ID10) mit Standart Template (default) und dort nur "Text und/oder Bildebearbeitung" unter "Spalte | News" etwas angelegt. dieser wird aber im "Content" angezeigt!? - siehe hier:
http://www.propresent-media.com/redaxo/ ... 10&clang=0


Wenn ich die Webseite öffne wird im "Container / Spalte" - also da wo ich den Text eigentlich haben will - kein Inhalt angezeigt - siehe hier:
http://www.propresent-media.com/redaxo/ ... ticle_id=1

...und ich weiss nicht warum?
Wer hilft mir auf die "Sprünge".... Wo ist mein Gedankenfehler?
:oops:
...seit 15.Juni 2009 REDAXO 4.2.1 Fan - also von nichts eine Ahnung ;-)

therancher
Beiträge: 488
Registriert: 29. Jan 2007, 18:32
Wohnort: Sachsen

21. Jun 2009, 23:47

ich habe mich oben etwas unglücklich ausgedrückt, wenn keine spalten vorhanden sind dann kannst du getarticle() schreiben oder auch getarticle(1), wenn mehrere spalten definiert sind, musst du getarticle(ID) schreiben.

ansonsten sehe ich jetzt nicht so richtig durch, was du eigentlich machen willst.
ist dass generell auch in einer html seite möglich?
wenn ich in "frames" die dateien für redaxo aufrufe...??!
Und Für das Includieren soltest du dir mal die entsprechenden PHP-Seiten anschauen
(z.b.selfphp.de)
lg, HarryT
spontanität will wohl überlegt sein!

Benutzeravatar
wolle65
Beiträge: 13
Registriert: 18. Jun 2009, 22:13
Wohnort: Wehrheim
Kontaktdaten: Website

23. Jun 2009, 20:23

therancher hat geschrieben:ich habe mich oben etwas unglücklich ausgedrückt, wenn keine spalten vorhanden sind dann kannst du getarticle() schreiben oder auch getarticle(1), wenn mehrere spalten definiert sind, musst du getarticle(ID) schreiben.
lg, HarryT
hier nun mal die php datei (das template)...
warum werden in den "container/div´s" nicht die spalten angezeigt?

Code: Alles auswählen

<?php
error_reporting(E_ALL ^ E_NOTICE); // Notices ausschalten
ini_set('arg_separator.output',  '&'); 
ini_set ( "arg_separator.output", ";");
ini_set ( "url_rewriter.tags", "a=href");
	$article = OOArticle::getArticleById($REX['START_ARTICLE_ID'], $REX['CUR_CLANG']);
	$articleK = $article->getValue("_keywords");
	$articleD = $article->getDescription();

	if($this->getValue("description") != "") {

		$meta_beschreibung = preg_replace('/<.*?>/', ' ', $this->getValue("description"));
		$meta_beschreibung = htmlspecialchars($meta_beschreibung);
	}
	else {
		$meta_beschreibung = preg_replace('/<.*?>/', ' ', $articleD);
		$meta_beschreibung = htmlspecialchars($meta_beschreibung);
	}

	$meta_beschreibung = preg_replace('/<.*?>/', ' ', $meta_beschreibung);
	
	if($this->getValue("keywords")!= "") {
		$meta_suchbegriffe = htmlspecialchars($this->getValue("keywords"));
	} 
	else {
		$meta_suchbegriffe = htmlspecialchars($articleK);
	} 
	$meta_beschreibung = preg_replace('/\s+/', ' ', $meta_beschreibung);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title><?php print $this->getValue("name") . ' | ' . $REX['SERVERNAME']; ?></title>
<meta name="keywords" content="<?php print $meta_suchbegriffe; ?>, keywords" />
<meta name="description" content="<?php print $meta_beschreibung; ?> metas" />
<meta name="Content-Language" content="de-DE" />
<meta name="Author" content="<?php echo $REX['SERVERNAME']; ?>" />
<meta name="Publisher" content="<?php echo $REX['SERVERNAME']; ?>" />
<meta name="Copyright" content="<?php echo $REX['SERVERNAME']; ?>" />
<meta name="Revisit" content="After 5 days" />
<meta name="Robots" content="INDEX,FOLLOW" />
<link rel="stylesheet" type="text/css" href="files/css1.css" media="screen" title="css" />
<link rel="stylesheet" type="text/css" href="files/print1.css" media="print" />
</head>
<body><div id="wrap">
<img id="frontphoto" src="files/css1/front.jpg" width="760" height="175" alt="" />
<div id="header">
<h1><?php echo $REX['SERVERNAME']; ?></h1>
<p><strong>Ich werde es bald kappieren!</strong><br /></p>
</div>

<div id="avmenu">
<?php
// EXPLODE PATH
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
// GET CURRENTS
$path1 = $PATH[1];
$path2 = $PATH[2];
$path3 = $PATH[3];

/* START 1st level categories */
$nav .= '<ul class="nav1st">';
foreach (OOCategory::getRootCategories() as $lev1) {
   if ($lev1->isOnline(true)):
      if ($lev1->getId() == $path1) {
         $nav .= '<li class="active"><a class="current" href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
      }
      // 2nd level - no active link
      else {
         $nav .= '<li><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a>';
      }
         
      // 1st level had categories? -> go on
      $lev1Size = sizeof($lev1->getChildren());
   
      if ($lev1->getId() == $path1) {
         if ($lev1Size != "0") {
            $nav .= '<ul class="nav2nd">';

            // START 2nd level categories
            foreach ($lev1->getChildren() as $lev2):
               if ($lev2->isOnline(true)) {
                  // 2nd level - active link
                  if ($lev2->getId() == $path2) {
                     $nav .= '<li class="active"><a class="current" href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
                  }
                  // 2nd level - no active link
                  else {
                     $nav .= '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a>';
                  }
                  
                  // 2nd level had categories? -> go on
                  $lev2Size = sizeof($lev2->getChildren());
   
                  if ($lev2->getId() == $path2) {
                     if ($lev2Size != "0") {
                        $nav .= '<ul class="nav3rd">';

                        // START 3rd level categories
                        foreach ($lev2->getChildren() as $lev3):
                           if ($lev3->isOnline(true)) {
                              // 3rd level - active link
                              if ($lev3->getId() == $path3) {
                                 $nav .= '<li class="active"><a class="current" href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></li>';
                              }
                              // 3rd level - no active link
                              else {
                                 $nav .= '<li><a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></li>';
                              }
                           }
                        endforeach;
                        // END 3rd level categories
      
                        $nav .= '</ul>';
                     } // END by if ($lev2Size != "0"):
                  }
                  $nav .= '</li>';
               }
            endforeach;
            // END 2nd level categories
      
            $nav .= '</ul>';
         } // END by if ($lev1Size != "0"):
      }
      $nav .= '</li>';

   endif; // END by if ($lev1->isOnline())
}
$nav .= '</ul>';
// END 1st level categories

print $nav;
?> 



<div class="announce"><br />
<?php /* hier wird der News Inhalt eingefügt, der zu dem aktuellen Artikel gehört */
echo "<div>".$this->getArticle(ID2)."</div>";?>
</div>

</div>

<div id="extras">
<h3>More info:</h3>
<p>This is the third column, which can be used in many different ways. For example, it can be used for comments, site news, external links, ads or for more navigation links. It is all up to you!</p>

<h3>Links:</h3>
<p>- <a href="http://www.redaxo.de/">Redaxo CMS</a><br />
- <a href="http://validator.w3.org/check/referer">Valid XHTML</a><br />
- <a href="http://jigsaw.w3.org/css-validator/check/referer">Valid CSS</a></p>
</div>

<div id="content">
<?php
	print $this->getArticle();
?>
</div>

<div id="footer">
Copyright &copy; 2007 <?php echo $REX['SERVERNAME']; ?>. Design by <a href="http://andreasviklund.com">Andreas Viklund</a>.<br />Powered by <a href="http://www.redaxo.de">Redaxo - Opensource CMS</a>.
</div>

</div>
</body>
</html>
ich habe doch nun alles "so" gemacht wir notwendig, oder?
die testnews (einfach nur ein Text) sollte eigentlich nun links unten in der spalte erscheinen, wird aber mit im "content" dargestellt.... warum?
bspl.: http://www.propresent-media.com/redaxo/ ... ticle_id=1

danke für jeden hinweis
gruß
wolfgang
...seit 15.Juni 2009 REDAXO 4.2.1 Fan - also von nichts eine Ahnung ;-)

Benutzeravatar
Oliver.Kreischer
Beiträge: 2508
Registriert: 17. Dez 2004, 00:03
Wohnort: Velbert - LA
Kontaktdaten: Website

23. Jun 2009, 22:44

Hi,

vielleicht hilft das ja noch:

http://www.redaxo.de/503-0-templates-nutzen.html

Grüße
Oliver
> Friends Of REDAXO Gemeinsame REDAXO-Entwicklung!
> REDAXO Agenturen. Eintragen erwünscht!
> Komm in den Slack Channel Es lohnt sich!

therancher
Beiträge: 488
Registriert: 29. Jan 2007, 18:32
Wohnort: Sachsen

24. Jun 2009, 18:51

hi, hast du dir meinen obigen post durchgelesen? du hast in deinem template stehen:

Code: Alles auswählen

echo "<div>".$this->getArticle(ID2)."</div>";
, wobei ich annehme du meinst

Code: Alles auswählen

getarticle(2)
, und weiter unten steht

Code: Alles auswählen

 print $this->getArticle(); 
dort solltest du eine ID eintragen (z.B. getarticle(1) )

zur besseren überschaubarkeit lagere die navi doch aus (Link von Oliver)

gruss, HarryT
spontanität will wohl überlegt sein!

Benutzeravatar
wolle65
Beiträge: 13
Registriert: 18. Jun 2009, 22:13
Wohnort: Wehrheim
Kontaktdaten: Website

24. Jun 2009, 21:28

therancher hat geschrieben:hi, hast du dir meinen obigen post durchgelesen? du hast in deinem template stehen:

Code: Alles auswählen

echo "<div>".$this->getArticle(ID2)."</div>";
, wobei ich annehme du meinst

Code: Alles auswählen

getarticle(2)
, und weiter unten steht

Code: Alles auswählen

 print $this->getArticle(); 
dort solltest du eine ID eintragen (z.B. getarticle(1) )

zur besseren überschaubarkeit lagere die navi doch aus (Link von Oliver)

gruss, HarryT

..danke harryt
danke oliver...

für diese (bisherigen) tipps.
werde mich ersteinmal mit dem tutorial "templates benutzen" befassen!
:roll:

danke und gruß
wolfgang
...seit 15.Juni 2009 REDAXO 4.2.1 Fan - also von nichts eine Ahnung ;-)

Zurück zu „Allgemeines [R4]“