Page 1 of 1

Frage: Categorie ID

Posted: Fri 19. Nov 2004, 17:01
by nekket
Es ist ja möglich, die ID eines Artikels abzurufen und dann eine entsprechende Funktion mit dieser ID zu koppeln.
Z.B.

Code: Select all

<?php 

switch($GLOBALS['content']['act_cat_id']) { 

// AKTUELLES
case 2: $template_default["article"]["title_before"]		= ''; $template_default["article"]["title_after"]			= ''; break;



 // EOF 
default: $template_default["article"]["title_before"]		= '{GT:headline}'; $template_default["article"]["title_after"]			= '{/GT}'; break;

} 

?>
Es wäre jedoch sehr praktisch, wenn nicht die ID einer einzelnen Ebene abruft sondern die des Ordners, der diese Ebene enthält.

Dafür habe ich folgende Funktion gefunden; sie gibt mir den Namen der Ebene ein Level weiter oben aus:

Code: Select all

<?
$cur_toplevel_name = '';
$GLOBALS['nav_point_listing'] = get_breadcrumb($GLOBALS['content']["cat_id"], $GLOBALS['content']['struct']); 

if(isset($GLOBALS['nav_point_listing']) && count($GLOBALS['nav_point_listing']) > 1) { 
//   reset($GLOBALS['nav_point_listing']);
 next($GLOBALS['nav_point_listing']);
 next($GLOBALS['nav_point_listing']);
   $cur_toplevel_name = html_specialchars($GLOBALS['content']['struct'][ intval(key($GLOBALS['nav_point_listing'])) ]['acat_name']);
}

$content['all'] = str_replace('{MYCAT}', $cur_toplevel_name, $content['all']);
echo "$nav_point_listing[2]";
echo "$cur_toplevel_name";
echo "$act_cat_id"; 
?>
Schön, aber damit ich damit jetzt eine sinnvolle Abfrage machen kann, benötige ich nicht den Categorie-Namen sondern am besten die ID.
Dann könnte ich, ähnlich wie im Beispiel ganz oben Anweisungen geben.

Das ganze ist für ein Projekt, was mehrere Ebenen mit Unterordnern enthält. Da ich mit möglichst wenig Templates auskommen möchte, möchte ich diese Funktion benutzen....

Ist nicht sonderlich gut erklärt, was ich brauche... aber vielleicht hat ja jemand die Lösung gerade parat :D

Posted: Fri 19. Nov 2004, 17:18
by pepe
Hi nekket,

Deine Frage ist mir nicht ganz klar geworden, trotzdem:

Irgendwo hat OG mal folgendes geschrieben:

Kategorie-ID:
[PHP]echo ($GLOBALS['content']['cat_id'])[/PHP]

ALIAS-Name:
[PHP]echo $GLOBALS['content']['struct'][($GLOBALS['aktion'][0])]['acat_alias'][/PHP]


Vielleicht hilft's ja weiter?

Posted: Fri 19. Nov 2004, 17:27
by nekket
Hallo Pepe,

grundsätzlich ist das schon hilfreich, danke!
Aber ich bräuche die ID von dem Strukturlevel, was die unterstruktur enthält.

Beispiel:

Code: Select all

Deutsch
|
+--Artikel 1
     |
     + Artikel 1.1
     |
     + Artikel 1.2

Ich bin jetzt in Artikel 1.2 und möchte aber die ID von Artikel 1 ausgegeben bekommen.

Jetzt vielleicht verständlicher?

Posted: Fri 19. Nov 2004, 17:32
by pepe
Hallo nekket,

danke, jetzt hab ich die Frage verstanden... aber keine Lösung, schade :oops:

Aber ich denk drüber nach.

pepe

Posted: Fri 19. Nov 2004, 17:35
by nekket
Danke trotzdem!

Wie gesagt, den Namen der übergeordneten ID bekomme ich schon ausgegeben, aber eben nicht die Nummer / ID ansich.

Posted: Fri 19. Nov 2004, 19:48
by kubens

Code: Select all

<?php

$id        = $GLOBALS['content']['cat_id'];
$parent_id = $GLOBALS['content']['struct'][$id]['acat_struct'];

$doc_name        = html_specialchars($GLOBALS['content']['struct'][$id]['acat_name']);
$doc_parent_name = html_specialchars($GLOBALS['content']['struct'][$parent_id]['acat_name']);

echo <<<END
$doc_name<br>
$doc_parent_name<br>

END;


?>
Gruß
Wolfgang

Posted: Fri 19. Nov 2004, 21:07
by nekket
Danke Kubens,

ich bräuchte aber wirklich nur die ID und nicht den STring (Categorie-Namen)... also eine Ziffer! :D

Kannst du mir da helfen?

Posted: Fri 19. Nov 2004, 21:20
by kubens
ich bräuchte aber wirklich nur die ID und nicht den STring (Categorie-Namen)... also eine Ziffer

Code: Select all

echo $parent_id

Posted: Fri 19. Nov 2004, 21:24
by nekket
SUPER!
Vielen Dank!

€dit: ich bin wohl blind gewesen 8) 8)