Eigener Block

Begonnen von wolli, 22 September 2002, 00:04:47

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

wolli

ist es möglich, die relatedfunkion aus dem article.php in die content-seiten mit einzu bauen...

ich habe z.b. versucht ( erst mal ) den option-block einzubauen, aber dann steht derblock gleich unter der contenseite un nicht auf der rechten seite....

mein ziel ist, einen block zu haben, nur bei contentseiten auf der rechten seite erscheint... alle anderen blöcke sollen während der anzeige der content seite ausgeblendet sein...

ich möchte in dem block ergänzende links zu genau der angezeigten seite ( ähnlich wie related ) einblenden....

ich habe hier schon fast alle posts zu "block" gelesen, aber es war noch nicht das richtige dabei....

gruß wolli

Joschau

Hi wolli!

Wenn ich Dich richtig verstehe, hast Du ein Layout-technisches Problem und kein Problem, wie Du den Block ans Laufen bekommst, gelle?!

Kleine Nuke-Kunde ;)

Eine Nuke-Seite besteht im Hauptteil aus 3 oder 5 Tabellenspalten. In der ganz linken Spalte befinden sich die linken Blöcke, dann kommt eine unsichtbare schmale Spalte zur Abgrenzung. Wenn Du keine Blöcke rechts eingestellt hast, schließt sich dann eine weitere breite Spalte (Layout wie hier im Forum). Wenn die rechten Blöcke aktiviert sind, schließen sich an die "Haupt-Spalte" noch zwei Spalten an, nämlich wiederum eine unsichtbare und dann eine rechte Spalte, in die die rechten Blöcke eingetragen werden.

Wenn Du nun extra rechte Blöcke in der content-Darstellung haben willst, musst Du die entsprechende Inhalte in eine dreispaltige Tabelle packen.

Vom Aufbau her sieht das dann so aus:

 
$index = 0; //nur zur Sicherheit ;)

include("header.php");

echo "<table width=100%><tr>\n";
echo "<td>"; //hier öffnest Du jetzt die Spalte für den hauptsächlichen Inhalt, also Deine content-Seite

//Code für den Content einfügen

echo "</td><td> </td><td>\n"; //hier schließt Du die erste Spalte, öffnest die Blindspalte, trägst ein geschütztes Leerzeichen, schließt die Blindspalte und öffnest die Spalte für die rechten Blöcke

//Code für die rechten Blöcke

echo "</td></tr></table>\n"; //Hier schließt Du die rechte Spalte, die erste Zeile der Tabelle und die Tabelle selbst

include("footer.php");


Schau Dir mal die article.php hinsichtlich dieser Struktur an, Du wirst sie dort wiederfinden.


wolli

hi, josch....

danke für diese hinweise  ich werde es ml angehen...

gruß wolli

Jochen

Wenn du das Problem gelöst hast, könntest du mir dann mal das Ergebnis zeigen? Ich könnte dir dann eventuell auch weiterhelfen bei Problemen, falls noch welche vorhanden sind.

wolli

oki... ich werde mich mal ins zeug legen...

hab aber gleich nochne andere frage...

bei den artikeln steht der titel der news auch als seitentitel oben im explorer fenster

geht das auch für den contenbereich zu realisieren ???

ich habe dazu in der article.php folgende passage gefunden, die in den artikel dafür verantwortlich sein müsste...

$artpage = 1;
$pagetitle = "- $title";
require("header.php");
$artpage = 0;


wenn ich nun diese passage in die contentseite einfüge... passiert nichts ( nicht mal fehlermeldungen....

gibts möglichkeiten ???

gruß wolli

wolli

@ joschau

hey dein tipp war gold wert....

ist zwar erst nur offline am laufen ( ich muss mir noch den richtigen blockinhalt basteln ) aber es geht wunderbar...

wird bald online zu sehen sein....

gruß wolli

ps fällt euch vieleicht noch as zu den seiten titeln ein ???

Joschau

Hi wolli!

Du musst dafür sorgen, dass die Variable $title vor der Zeile auch gefüllt ist ;)

Das heißt, Du musst die sql_Abfrage, mit der die Inhalte der Seite ausgelesen werden, vor die Zeile mit der Variablen pagetitle platzieren und die Überschrift des Contents in die Variable title einlesen (oder eben die Variable, in der die Überschrift enthalten ist, anstelle der title an die pagetitle übergeben).

Fehlermeldungen kommen nicht, weil die Variable einfach nur leer ist ... ;)

wolli

@ Joschau

danke für deine schnellen tipps...

ich habe mir non folgndes zusammengeschrieben...

$result = sql_query("select title  FROM ".$prefix."_pages where pid=$pid", $dbi);
list($title ) = sql_fetch_row($result, $dbi);
$pagetitle = "- $title";


aber egal wo ichs hinsetze kommt keine anzeige....

????

wie weit bist du eigentlich mit dem nuke to html... ???

Joschau

Jau...nach längerem Rumprobieren fällt´s mir auch auf...

Es ist ein Problem des geltungsbereichs der Variablen. In der article.php wird die $pagetitle außerhalb einer Funktion mit dem Wert gefüllt. Sie steht daher global zur Verfügung.

In der index.php vom Content-Modul musst Du die $pagetitle, wenn Du den Artikeltitle drin haben willst, innerhalb der Funktion showpage füllen. Dadurch steht die Variable $pagetitle nicht global zur Verfügung.

Du findest oberhalb der Funktion showpage() eine Zeile, in der die $pagetitle bereits einmal definiert wird. Ersetz diese zeile mal mit folgendem Code, dann klappts (zwar nicht mit dem nachbarn, aber mit dem Seitentitel ;) )


if ($pa == 'showpage'){
    $result = sql_query("SELECT title from ".$prefix."_pages where pid='$pid'", $dbi);
    list($title) = sql_fetch_row($result, $dbi);
  $pagetitle = " - $title";
} else {
$pagetitle = " - $module_name";
}
 
Das NukeToHTML kannst Du in der aktuellen Version downloaden. Schlag mich nicht, aber ich glaube, der Content-Bereich wird zwischenzeitlich aufgenommen...irgendetwas wollte ich auch noch von Dir wissen, schau mal bitte in meinem Forum nach...



[Editiert am 24/9/2002 von Joschau]