pragmaMx Support Forum

pragmaMx => integrierte Module => Thema gestartet von: uniquex am 16 Mai 2006, 10:19:26

Titel: Module und Theme - Header(title)
Beitrag von: uniquex am 16 Mai 2006, 10:19:26
Howdy!

Habe schon das Forum rauf und runter abgesucht, mir nen sprichwörtlichen Ast gebastelt und alles andere versucht, aber ich hab wohl Tomaten auf den Augen..

In der theme.html habe ich das Tabellenlayout für (so wie ich denke) alle Seiten definiert. Speziell nutze ich für jede Mittelspalte einen Contentbanner. Da in der (nehmen wir als bsp.) Moduldatei -> /content/index.php keine Layoutdeklarierung steht, gehe ich davon aus das dies über die includierte header.php läuft. Soweit auch alles gut, mein Contentbanner wird überall angezeigt.

Nun mag ich aber den Seitentitel (Contenttitle) in meinen Header einbauen.... was ich leider nicht hinbekomme..

Sollte dann mal so aussehen:

(https://forum.pragmamx.org/proxy.php?request=http%3A%2F%2Fimg163.imageshack.us%2Fimg163%2F4238%2Fheadertitle7qc.gif&hash=ef4122e3e13d04e0d17ba65d874917c8f6dcf9f6)

Auf der Startseite bzw klappt es wunderbar.. da konnte ich jedoch aber auch über die themedeklaration {BLOCK_TITLE} ganz klar die Position wählen.. bei den Modulen weiss ich jedoch irgendwie nicht welcher Teil hier für was zuständig ist *verwirrt*

Wenn jemand Rat weiss... :P daaanke !
Titel: Re: Module und Theme - Header(title)
Beitrag von: uniquex am 16 Mai 2006, 10:47:42
[@info]
Nochmal etwas 'klarer' ...
Ich möchte im Prinzip den Teil (deklariert in moduldatei):
$pagetitle = _CONTENTCATEGORIES;

An der Stelle darstellen, wo im Theme der {BLOCK-TITLE} ist.
[/@info]
Titel: Re: Module und Theme - Header(title)
Beitrag von: Musicman75 am 16 Mai 2006, 18:53:14
dann setzt das doch einfach da rein.

{blocktitle} wird in der functions.php des themes ersetzt. such einfach nach der funktion und lass dann statt des titels den pagetitel anzeigen.

ich würde dir allerdings raten, das als eine extra funktion dort einzubauen (copy past) und zB {blocktitel2} als platzhalter verwenden. sonst werden die seitenblöcke auch nicht mehr korrekt angezeigt.
Titel: Re: Module und Theme - Header(title)
Beitrag von: uniquex am 16 Mai 2006, 19:18:51
Hm.. also wie meinst du jetzt ?

Der Aufruf erfolgt aus einer modul.php ..deklariert ist die Tabelle jedoch in der themes.html
Durch opentable() wird das ganze dann abgerufen und zeigt mir den Block aus der themes.html

Wie übergebe ich aber nun (nicht den Seitennamen), sondern eben bsw. nur den Inhalt von _CONTENTCATEGORIES ?

Danke
Titel: Re: Module und Theme - Header(title)
Beitrag von: uniquex am 16 Mai 2006, 19:43:59
Sorry.. leider war der Editzeitraum bereits abgelaufen.. vll. kann den letzten Beitrag jemand löschen..

Zum Thread:

Hm.. also wie meinst du jetzt ?

Der Aufruf erfolgt aus einer modul.php :

functions main(); {
OpenTable();

deklariert ist die Tabelle jedoch in der themes.html

<!-- START opentable -->
{BLOCK_TITLE}
<!-- END opentable -->


Durch opentable() wird das ganze dann abgerufen und zeigt mir den Block aus der themes.html

Wie übergebe ich aber nun (nicht den Seitennamen), sondern eben bsw. nur den Inhalt von _CONTENTCATEGORIES ?

Ich habs probiert mit der funktions.php:

    // die Funktion OpenTableDownload()
    $var['opentabs']['OpenTableDownload']['templatevar'] = 'opentabledownload';
    $var['opentabs']['OpenTableDownload']['innerreplace'] = '{OPENCLOSE_TABLE_DOWNLOAD}';


und den passenden stellen in der moduldatei opentabledownload() und der theme.html Anpassung, bekomme dann jedoch einen SQL Fehler ..

Kannst du das genauer erklären?
Danke
Titel: Re: Module und Theme - Header(title)
Beitrag von: Musicman75 am 16 Mai 2006, 19:44:09
dann schau dir mal die index.php im content modul an. dort gibt es folgende funktionen:

function list_pages_categories($cid)

Listet die vorhandenen Kategorien auf und Seiten, welche in keiner Kategorie zugeordnet sind


function list_pages()

listet die Seiten einer kategorie auf.



dies ist zB der Code aus der list_pages funktion:

    $pagetitle = _CONTENTCATEGORIES;
    include("header.php");
    if (isset($lines)) {
        OpenTable();
        echo "<center><div class=\"title\">" . _CONTENTCATEGORIES . "</div><br><br>";
        echo "<table border=\"0\" align=\"center\" width=\"95%\">";
        echo implode("\n", $lines);;
        echo "</table></center>";
        CloseTable();
        echo "<br>";
        $xlist++;
    }


dort musst du dein gebilde für das layout einbauen, es wird lediglich das opentable des themes verwendet.
bau einfach noch ne tabelle drum rum und setz die hintergrundbilder ein, dann siehtr das so aus, wie du es willst.

das selbe natürlich auch für die kategorie funktion wenn gewünscht.

Das funktioniert dann allerdings nur im content modul
Titel: Re: Module und Theme - Header(title)
Beitrag von: uniquex am 16 Mai 2006, 19:50:14
Hm.. erstmal danke für die Antwort.. aber stehe dann wohl momentan breit auf dem Schlauch ..

Ich hrr... packs net zusammen  :-[
Titel: Re: Module und Theme - Header(title)
Beitrag von: Musicman75 am 16 Mai 2006, 22:01:14
Ok, dann mach es jetzt einfach so:

erst mal das hier in die functions.php zu den anderen Platzhaltern rein:
$part[] = array("{MODUL_TITLE}",   mx_module_title()    );

dann machst fügst noch das hier in die functions.php, irgendwo unterhalb des anderen Teils und oberhalb des CVS:

function mx_module_title(){
      echo "<center><b>"._CONTENTCATEGORIES."</b></center>\n";


Im Theme an der Stelle, wo das erscheinen soll setzt dann noch {MODUL_TITLE} rein.
Dann sollte es gehen.

Hab es aber nicht getestet, also ohne gewähr.
Titel: Re: Module und Theme - Header(title)
Beitrag von: uniquex am 17 Mai 2006, 02:36:40
Es klappt!

Habs zwar nun noch anders gelöst.. aber hauptsache jedenfalls: Es geht!

Vielen Dank nochmal!