[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Category ID anders auslesen? - 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/
Eruadan
Beiträge: 55
Registriert: 17. Jun 2010, 14:05

Category ID anders auslesen?

22. Feb 2013, 00:29

Hallo,

Ich versuche text über dem outputfilter zu ersetzen. Das funktioniert auch soweit. Nur wenn ich den PHP Schnippsel

Code: Alles auswählen

$cat = OOCategory::getCategoryById( $this->getValue( 'category_id'));
einfüge bekomme ich diese Fehlermeldung:

Code: Alles auswählen

Fatal error: Using $this when not in object context in /home/camping/public_html/redaxo/include/addons/xoutputfilter/functions/functions.inc.php(243) : eval()'d code on line 2
Mit

Code: Alles auswählen

$cat = OOCategory::getCategoryById(45);
funktioniert es einwandfrei. Kann aber nicht alle id's manuel einfügen.

Wie kann ich $this->getValue umgehen oder das Problem lösen?

Anbei das komplette Modul:

Code: Alles auswählen

<?php
$cat = OOCategory::getCategoryById( $this->getValue( 'category_id'));
$name = $cat->getValue('art_teaser_hdl');
	if ($name == '')
		$name = $cat->getName();

$star = $cat->getValue('art_teaser_stern');
$ort = $cat->getValue('art_teaser_text');
$s = array (
          '1',
          '2',
		  '3',
		  '4',
          '5'
        );
$r = array (
          '*',
          '**',
		  '***',
          '****',
          '*****'
        );
$stars = str_replace($s, $r, $star);
$out = '';
$out .= $name.$stars.' in '.$ort.',  Lesen Sie mehr auf diese Seite.';

echo "$out";
?>
Vielen Dank

Eric

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: Category ID anders auslesen?

22. Feb 2013, 12:39

Es gibt da die Redaxo-Konstante REX_CATEGORY_ID.
Siehe http://www.redaxo.org/de/doku/version-4 ... variablen/.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Eruadan
Beiträge: 55
Registriert: 17. Jun 2010, 14:05

Re: Category ID anders auslesen?

22. Feb 2013, 12:49

Hi,

Hab's mal so versucht:

Code: Alles auswählen

<?php
$cat = OOCategory::getCategoryById(REX_CATEGORY_ID);
$name = $cat->getValue('art_teaser_hdl');
   if ($name == '')
      $name = $cat->getName();

$star = $cat->getValue('art_teaser_stern');
$ort = $cat->getValue('art_teaser_text');
$s = array (
          '1',
          '2',
        '3',
        '4',
          '5'
        );
$r = array (
          '*',
          '**',
        '***',
          '****',
          '*****'
        );
$stars = str_replace($s, $r, $star);
$out = '';
$out .= $name.$stars.' in '.$ort.',  Lesen Sie mehr auf diese Seite.';

echo "$out";
?>
Bekomme dann die Fehlermeldung

Code: Alles auswählen

Notice: Use of undefined constant REX_CATEGORY_ID - assumed 'REX_CATEGORY_ID' in /home/camping/public_html/redaxo/include/addons/xoutputfilter/functions/functions.inc.php(243) : eval()'d code on line 2

Fatal error: Call to a member function getValue() on a non-object in /home/camping/public_html/redaxo/include/addons/xoutputfilter/functions/functions.inc.php(243) : eval()'d code on line 3

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

Re: Category ID anders auslesen?

22. Feb 2013, 17:23

Hej,

warum machst du das nicht im Template sondern über den Umweg über den Outputfuilter?

vg Thomas

Eruadan
Beiträge: 55
Registriert: 17. Jun 2010, 14:05

Re: Category ID anders auslesen?

22. Feb 2013, 17:41

Hi,

weil das von den Metadaten generierter Content in 4 verschiedenen Sprachen ist, der nur in einigen Seiten die Description ersetzen soll. Das soll halt nicht überall angezeigt werden.

Ich habe im Endeffekt 4 verschiedene Descriptions:

Standartcontent
Hotel
Kontakt
Buchen
und das in 4 Sprachen.

Wenn ich es mir einfach machen würde, würde ich dem Kunden sagen er solle jede Description selber tippen. Aber ich generiere den Content dank der Metaangaben, die bereits alle vorliegen. Dann braucht der Kunde in der Hinsicht nichts einzugeben und spaart Zeit.

Eruadan
Beiträge: 55
Registriert: 17. Jun 2010, 14:05

Re: Category ID anders auslesen?

22. Feb 2013, 18:04

Andererseits est stimmt schon, wenn alle Stricke reißen, muss ich halt verschiedene Templates zuweisen. Das geht auch. Man muss es halt so einfach wie möglich halten wegen error-40 :wink:

Gibt es eigentlich Einschränkungen wie und wie oft man die metainfos nutzen darf?

Danke schonmal!

Eric

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

Re: Category ID anders auslesen?

22. Feb 2013, 18:10

Der einfachste Weg ist wäre sich vom Artikel hochzuhangeln und sobald in einer Elternkategorie etwas vorhanden ist diese Description verwenden. Ist man bei root angekommen und es wurde immer noch nix gefunden, dann Fallback auf Startartikel.

vg Thomas

Zurück zu „Allgemeines [R4]“