Navigation mit der Projektstruktur

Fragen zur Implementierung und/oder Anpassung von ConPresso 3.x werden in diesem Forum diskutiert.
rk
ConPresso-Checker
Beiträge: 128
Registriert: 01.01.1970 01:00

Re: Navigation mit der Projektstruktur

Beitrag von rk »

mail mir mal bitte deine global_header.php an koelling(at)go.to

Monte
ConPresso-User
Beiträge: 51
Registriert: 01.01.1970 01:00

Re: Navigation mit der Projektstruktur

Beitrag von Monte »

Ich habe dasselbe Problem wie Sandra:

> Egal in welche Rubrik ich klicke, es werden immer
> alle Untermenüpunkte aller Rubriken angezeigt

Gibt es eine Lösung dafür?

Monte

rk
ConPresso-Checker
Beiträge: 128
Registriert: 01.01.1970 01:00

Re: Navigation mit der Projektstruktur

Beitrag von rk »

Ja, es gibt eine Lösung.

Die korrekte Pflege der Projektstruktur, so wie Conpresso es braucht ;-)).

Du musst einerseits die Projektstruktur unter Einstellungen/Projekt-Struktur pflegen. Und ausserdem unter Einstellungen/Rubrik-Einstellungen auch eine korrekte Zuordnung treffen.

Dann sollte es funktionieren.

Monte
ConPresso-User
Beiträge: 51
Registriert: 01.01.1970 01:00

Re: Navigation mit der Projektstruktur

Beitrag von Monte »

Habe ich getan ;-)
Was lief denn z.B. bei Sandra verkehrt?
rk
ConPresso-Checker
Beiträge: 128
Registriert: 01.01.1970 01:00

Re: Navigation mit der Projektstruktur

Beitrag von rk »

Hallo Monte,
Sandra hatte unter Einstellungen/Rubrik-Einstellungen keine korrekte Zuordnung getroffen.

Danach ging es wie gewollt.

Wenn es trotzdem nicht klappt, mail mir mal deine global_header.php und richte mir mal einen admin in deinem Conpresso ein.



Beitrag bearbeitet (01.03.04 23:39)
hk
ConPresso-Newbie
Beiträge: 5
Registriert: 01.01.1970 01:00

Re: Navigation mit der Projektstruktur

Beitrag von hk »

Ja Hallo erstmal,
mal wieder das Problem mit der Navigation. Ralf Kölling und Andere haben ja schon eine Menge Hilfe in den Forum gegeben, jedoch habe ich noch folgendes Problem.
Die Rubrikebene 1 anzeigen geht, wenn ich jedoch auf eine Rubrikebene 1 klicke um die Ebene 2 zu sehen verschwindet diese Ebene 1 und ich kann die Ebene 2 sehen, ich sehe auch noch die anderen Ebenen 1. Wähle ich nun einen Punkt aus der Ebene 2 aus verschwindet die Übersicht der Ebene 2 und ich sehe nur die Ebenen 1 wo keine Ebene 2 enthalten ist. Wähle ich nun eine Ebene 1 aus bin ich wieder am Ausgangspunkt.
Ich denke ich habe das gleiche Problem wie die Sandra Fortunato aber ich kann mit dem Ideeansatz:
cpo_rubric.id in einer Variablen merken
prüfen ob die Variable leer ist (keine Unterseiten mehr da)
gemerkte Variable nehmen (vorherige seite)
nichts anfangen

Vielleicht hat ja jemand eine Lösung für mich!!

vielen Dank


Heiko



Meine global_header.php

if (!defined('CPO')) exit;
?>
......
.......
<body>
<table cellspacing="0" class="tabelle">

<tr>
<td class="navilio">test
</td>

<td class="navireo">test</td>
</tr>
<tr>
<td class="navig">

<ul >
<li><a href="../jobs/"<?PHP if ($Rubric_id == 17) { printf('class="here"'); } ?>>Jobs</a></li>
<li><a href="../news/"<?PHP if ($Rubric_id == 16) { printf('class="here"'); } ?>>News</a></li>
<li><a href="../hauptgruppe/"<?PHP if ($Rubric_id == 15) { printf('class="here"'); } ?>>Hauptgruppe</a></li>
</ul>
<?php
$db = new DB;
$query ='SELECT '.$dbPrefix.'_rubric_1.rubrik AS rubrik, '.$dbPrefix.'_rubric_1.header AS header FROM ( '.$dbPrefix.'_tree INNER JOIN '.$dbPrefix.'_rubric ON '.$dbPrefix.'_tree.parent = '.$dbPrefix.'_rubric.zuordnung ) INNER JOIN '.$dbPrefix.'_rubric AS '.$dbPrefix.'_rubric_1 ON '.$dbPrefix.'_tree.id = '.$dbPrefix.'_rubric_1.zuordnung WHERE '.$dbPrefix.'_rubric.id = '.$Rubric_id;
$db->query($query);
$rows = $db->num_rows();
printf( '<ul class="subnavi">' );
while ( $rows > 0) {
$db->next_record();
printf('<li><a href="../%s/index.php">%s</a></li>', $db->v('rubrik'), $db->v('header'));
$rows--;
}
printf( '</ul> <!-- subnavi -->' );
?>


</td>
<td class="navireu" width="100%">

rk
ConPresso-Checker
Beiträge: 128
Registriert: 01.01.1970 01:00

Re: Navigation mit der Projektstruktur

Beitrag von rk »

Hallo,

> Ich denke ich habe das gleiche Problem wie die Sandra Fortunato

Sandras Lösung war wie oben beschrieben:
>> Du musst einerseits die Projektstruktur unter Einstellungen/Projekt-Struktur pflegen.
>> Und ausserdem unter Einstellungen/Rubrik-Einstellungen auch eine korrekte Zuordnung treffen.

ZWEI Einstellungen sind wichtig!

Vielleicht mailst du mir mal einen temporären Adminaccount und die URL.


> aber ich kann mit dem Ideeansatz:
> cpo_rubric.id in einer Variablen merken

Der Ansatz war auch nicht die Lösung. Habe ich auch nicht weiterverfolgt, da erste Versuche nicht so gut funktioniert haben.
Es ist leider tatsächlich so, dass nach Auswahl im Submenü, kein weiteres Submenü mehr angezeigt wird. Darunter gibt es ja auch keine Menüpunkte mehr :-O.

Warum bei dir die Ebene 1 verschwindet kann ich nicht nachvollziehen. Das ist auch unwahrscheinlich, da du sie in der globalheader "hart" eingetragen hast.


$Rubric_id == 15/16/17 sind wohl nicht von dir gepflegt, denn jobs oder news sind mit Sicherheit 1 und 2 :-).

Du müsstest die passenden Rubrik-IDs raussuchen. Das hilft aber nur für das Hervorheben des aktuellen Menüpunktes.

Julia

Re: Navigation mit der Projektstruktur

Beitrag von Julia »

Hallo!
Eine blöde Frage...kann es sein, dass meine global_header.php gar nicht aufgerufen wird?
Ich habe dei Datei, nach deinem Beispiel geändert und habe keine Änderungen am Display gesehen....
dann die global_header.php und die global_header.php.dist einfach gelöscht, es hat sich beim Aussehen der Seite wieder nichts geändert..??? wieso?
Muss ich noch in den css-dateien was ändern??
Danke, Julia
Julia

Re: Navigation mit der Projektstruktur

Beitrag von Julia »

Meine Frage hat sich fast erledigt, es war nur die _include/header.php angezeigt und nicht die global_header.php.
aber jetzt kriege ich folg. Fehler (der ist schon hier im Tread dabei, aber eine Lösung habe ich nicht gefunden...:-()

an der DB habe ich nichts geändert...

Database error: Invalid SQL: SELECT cpo_rubric_1.rubrik AS rubrik, cpo_rubric_1.header AS header FROM ( cpo_tree INNER JOIN cpo_rubric ON cpo_tree.parent = cpo_rubric.zuordnung ) INNER JOIN cpo_rubric AS cpo_rubric_1 ON cpo_tree.id = cpo_rubric_1.zuordnung WHERE cpo_rubric.id =
MySQL Error: 1064 (You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1)
Session halted.
rk
ConPresso-Checker
Beiträge: 128
Registriert: 01.01.1970 01:00

Re: Navigation mit der Projektstruktur

Beitrag von rk »

Du hast mein erstes Beispiel kopiert. Dort war fest "cpo..." als Tabellen-Prefix eingetragen. Du hast wahrscheinlich ein anderes Prefix gewählt.

Weiter unten (von hier aus natürlich oben ;-)) kommt '.$dbPrefix.'...

Das ist besser, weil damit das tatsächliche Prefix verwendet wird.

Klaus Trimborn

Re: Navigation mit der Projektstruktur - funktioniert super

Beitrag von Klaus Trimborn »

Hallo Compresso-Fans,
ich habe eine Lösung für die dynamische Projektstruktur bis zur 2. Ebene (php-Schnipsel s.u.) programmiert.
Nachsehen unter www.hvk-bochum.de.
Features:
1. Automatisches Einlesen der Hauptrubriken aus der Datenbank (nachträgliches Erstellen wird also auch sofort in Navigation übernommen :-) )
2. Bei Klick auf Hauptrubrik entfalten sich darunter die Unterrubriken
3. Bei Klick auf Unterrubrik bleibt der Navigationsbaum wie bei der Hauptrubrik erhalten
4. Anordnung gesteuert durch css - also beliebig anpassbar
5. Verwendung der Datenbank-Prefix-Variable '.$dbPrefix.', also unabhängig vom Prefix cpo_***

Ich gehöre zwar erst seit 4 Wochen dazu, bin aber von der einfachen Bedienung und Layouterstellung auch ohne großartige php-Kenntnisse sehr angetan. Mittlerweile habe ich die Website unserer Schule auf conpresso umgestellt:
www.hvk-bochum.de.
Nachdem ich auch die meisten Lehrerkollegen( ;-) ) nach 10-Minuten-Schulungen von der einfachen Erstellung der Inhalte überzeugen konnte, bin ich heilfroh, conpresso entdeckt zu haben.
Da sich sehr schnell auf Grund der Möglichkeiten von Conpresso gezeigt hat, dass ich mehrere Projekte (z.B. für einzelne Fächer, deren Kollegen daran interessiert sind) unter unserer Domain mit möglichst wenig Arbeit für mich realieren muss und als Mitglied des e-teams der Stadt Bochum auch andere Schule auf conpresso einschwören möchte, habe ich eine dynamische Navigationsstruktur bis zur 2. Ebene erstellt. Eine dritte Ebene erscheint mir nur Fleißarbeit, vielleicht hat jemand Zeit??
Grundlage waren die php-Zeilen von Ralf Kölling. Wo eine strukturierte Datenbank vorliegt (Lob an die conpresso-Entwickler), muss man die doch auch zielgerichtet auslesen können, oder?

Da ich php-Anfänger bin, wird es an der einen oder anderen Stelle sicher Optimierung geben. Über eine entsprechende Rückmeldung wäre ich sehr dankbar.
Ansosnsten funktioniert es super. Ich habe es in _cfg/ _global_footer.php (wg. des div-Tags, liegt dann auf jeden Fall oben, oder ??) untergebracht, sollte aber auch im _global_header.php funktionieren. Funktioniert auch in _categorie_header und _footer, dort hatte ich angefangen zu programmieren.

Ist natürlich kostenlos, kommerzielle User können aber gern eine Spende an den Förderverein der Heinrich-von-Kleist-Schule in Bochum leisten. Wäre nett, Kontakt über mich klaus@trimborn-online.de.

schnipp-----------
<?php
$db = new DB;
$sql = 'SELECT `'.$dbPrefix.'_rubric`.`rubrik` AS rubrik, `'.$dbPrefix.'_rubric`.`id` AS rubrik_id, `'.$dbPrefix.'_rubric`.`header` AS header FROM '.$dbPrefix.'_rubric INNER JOIN '.$dbPrefix.'_tree ON `'.$dbPrefix.'_tree`.`id` = `'.$dbPrefix.'_rubric`.`zuordnung` WHERE ( `'.$dbPrefix.'_tree`.`parent` = 0 ) LIMIT 0, 30';
$db->query($sql);
$rows = $db->num_rows();
while ( $rows > 0)
{
$db->next_record();

printf( '<p class="headline">' );
printf('<a href="../%s/index.php" class="headline">%s</a>', $db->v('rubrik'), $db->v('header'));
/*Überprüfung, ob Haupkategorie:*/
/*1. hier wird der Wert des Parent-Eintrags der aktuellen rubrik_id in der Tabelle ***_tree ausgelesen*/
$db3 = new db;
$wert_parent ='SELECT '.$dbPrefix.'_tree.`parent` AS parent FROM '.$dbPrefix.'_tree INNER JOIN '.$dbPrefix.'_rubric ON '.$dbPrefix.'_rubric.zuordnung = '.$dbPrefix.'_tree.id WHERE '.$dbPrefix.'_rubric.id = '.$Rubric_id;
$db3->query($wert_parent);
$db3->next_record();

$aktueller_parent=$db3->v('parent');

if ($aktueller_parent ==0 ) /* Parenteintrag=0: dass heißt, der Eintrag ist eine Hauptkategorie*/
{
$Aktuelle_Hauptrubrik = $Rubric_id;
}
else /*wenn also Unterkategorie*/
{
/*auslesen der Rubrik_ID aus cpo_rubric*/
$db2= new DB;
$sql_hauptrubrik = 'SELECT `'.$dbPrefix.'_rubric`.`id` AS rubrik_id FROM '.$dbPrefix.'_rubric INNER JOIN '.$dbPrefix.'_tree ON '.$dbPrefix.'_tree.id = '.$dbPrefix.'_rubric.zuordnung WHERE '.$dbPrefix.'_tree.id = '.$aktueller_parent;

$db2->query($sql_hauptrubrik);
$rows15= $db2->num_rows();
$db2->next_record();

$Aktuelle_Hauptrubrik = $db2->v('rubrik_id');

}

if ( $db->v('rubrik_id') == ($Aktuelle_Hauptrubrik) )


{/* <!--hier ist die Unternavigationsabfrage drin-->;*/
/*printf("<br>Aktuelle Hauptrubrik=");
printf($Aktuelle_Hauptrubrik);*/
$db1 = new DB;
$query1 ='SELECT '.$dbPrefix.'_rubric_1.rubrik AS rubrik_1, '.$dbPrefix.'_rubric_1.header AS header_1 FROM ( '.$dbPrefix.'_tree INNER JOIN '.$dbPrefix.'_rubric ON '.$dbPrefix.'_tree.parent = '.$dbPrefix.'_rubric.zuordnung ) INNER JOIN '.$dbPrefix.'_rubric AS '.$dbPrefix.'_rubric_1 ON '.$dbPrefix.'_tree.id = '.$dbPrefix.'_rubric_1.zuordnung WHERE '.$dbPrefix.'_rubric.id = '.$Aktuelle_Hauptrubrik;

$db1->query($query1);
$rows1 = $db1->num_rows();
printf( '<ul class="subnavi">');
while ( $rows1 > 0)
{
$db1->next_record();
printf('<li><a href="../%s/index.php">%s</a></li>', $db1->v('rubrik_1'), $db1->v('header_1'));
$rows1--;
}
printf( '</ul> <!-- subnavi -->' );
}




$rows--;
}

?>




---------schnapp
Benutzeravatar
georg
ConPresso-Checker
Beiträge: 164
Registriert: 01.01.1970 01:00
Hat sich bedankt: 5 Mal

Re: Navigation mit der Projektstruktur - funktioniert super

Beitrag von georg »

Hi Claus,

zunächstmal danke für das script...

Nach der installation hatte ich probleme mit der in meiner webpage bereits integrierten suche, dank semf konnten diese wie folgt beseitigt werden:

$db->query($sql);
$rows = $db->num_rows();
-------------------------------------
//Hier wird die Rubrik-ID ausgegeben!!!
//Kann nach Ermittlung der Standard-ID entfern werden
//echo $Rubric_id;

//Hier wird die Variable Rubric_id ausgewertet
//Wenn die Variable leer ist, wird der vorgegeben Standardwert genommen!
$Rubric_id = (!isset($Rubric_id))? 29: $Rubric_id;
-----------------------------------

dieser code wurde eingefügt - jetzt geht die suche auch - danke semf...

gruß

georg
Antworten