[Solved] Anzeigeübersicht der Enzyklopädie anpassen

Begonnen von xmjay, 09 November 2009, 01:07:52

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

xmjay

Hi @ll !

Ist es realisierbar, die Darstellung der Kategorien des Moduls in Spalten aufzuteilen und wenn ja, wie ?

So wie aufm Screenshot (in etwa)  :BD:
CMS-Version: pragmaMx 1.12.3 | PHP-Version: 5.2.12 | MySQL-Version: 5.1.66

trulla

 :)
Warum machst du für jeden Begriff eine eigene ency?  :gruebel:

xmjay

Hallo trulla !

Zitat von: trulla am 09 November 2009, 08:53:16
:)
Warum machst du für jeden Begriff eine eigene ency?  :gruebel:

Das ist ein Denkfehler von mir, mache ich rückgängig.  :red:

Mit welchem Link werden alle enthaltenen Begriffe einer Kategorie/Enzyklopädie angezeigt ?
CMS-Version: pragmaMx 1.12.3 | PHP-Version: 5.2.12 | MySQL-Version: 5.1.66

trulla

 :)
Angenommen, du hast eine Enzy erstellt mit dem Namen Tiere dann schreibst Texte  als "Amsel" , "Bär" "Chinchilla" in
Enzyklopädie-Begriff hinzufügen . Das ist direkt unter neue Ency hinzufügen. Die Begriffe werden dann automatisch im Alphabet der ency angezeigt.

xmjay

Hi again !

In der Enzyklopädie ist eine Kategorie Namens "Lexikon".
Die enthaltenen Begriffe aus dieser Kategorie möchte ich gern in einer "Übersicht" darstellen, so wie hier:

http://www.zuhause-in-aachen.de/modules.php?name=Encyclopedia&op=termsall&eid=1

Der Aufruf auf meiner Seite zeigt die aktiven Enzyklopädien an.

http://www.webschau.info/modules.php?name=Encyclopedia&op=termsall&eid=7 (eid=7 wird angezeigt bei überfahren des Links "Lexikon" per Mouse)
CMS-Version: pragmaMx 1.12.3 | PHP-Version: 5.2.12 | MySQL-Version: 5.1.66


trulla

@Martin, da das ein Block ist, wird das ja nur auf der Startseite hinzugefügt. Ich glaube, was xmay sucht, ist das hier

http://www.pragmamx.org/Forum-topic-17169.html

Bei mir funktioniert das aber aus unerfindlichen Gründen nicht.

xmjay

Hey  :)

Danke Euch beiden !

@ martin b:
Den Block hab ich auf meiner "Ausprobierseite" laufen (momentan deaktiviert).

@ trulla:
Der Aufruf von des Links */modules.php?name=Encyclopedia&op=terms&eid=1&ltr= stellt lediglich Begriffe des Buchstaben A dar.

klickklack

Zitat von: trulla am 09 November 2009, 16:42:15
Bei mir funktioniert das aber aus unerfindlichen Gründen nicht.

Ist das bei Dir ähnlich ?
CMS-Version: pragmaMx 1.12.3 | PHP-Version: 5.2.12 | MySQL-Version: 5.1.66

martin b

Hi
Ich habe den Link mal getestet. Tatsächlich werden nur Begriffe unter Buchstabe "A" ausgegeben. Gibt es unter "A" keine Begriffe, wird das bei mir auch angezeigt. Da finde ich den Block schon besser.

Gruß
martin b

trulla


xmjay

Hellö !

Zitat von: trulla am 09 November 2009, 17:52:29
Bei mir werden auch nur Begriffe mit A gezeigt. >:(

Seltsam  :gruebel:

Zitat von: martin b am 09 November 2009, 17:48:16
Gibt es unter "A" keine Begriffe, wird das bei mir auch angezeigt.

Jepp, gibt es Begriffe unter "A", werden diese angezeigt, jedoch keine Übersicht der entsprechenden Kategorie.
CMS-Version: pragmaMx 1.12.3 | PHP-Version: 5.2.12 | MySQL-Version: 5.1.66

Baldyman

Moin  :morning:

also das hat mir auch keine Ruhe gelassen ... hab jetzt ewig herumprobiert,
und bin zu folgendem Ergebnis gekommen.

GUGGST DU HIER

Hab frecherweise mal ein paar Begriffe von dir genommen,
damit du siehst was des Ding bis jetzt tut.

Habe mir dazu eine neue Funktion gebastelt.
Ausgegeben werden alle Begriffe die in einer Ency drin sind in einer Tabelle. Die Spaltenanzahl kann man in der Datei angeben.
Hab auf der Demo-Seite 3-Spalten mal drin. So kann man die Ausgabe auch ganz einfach dem Theme anpassen  ;)

Die Suche und das Alphabet unten könnte man natürlich auch rausnehmen.
Jeder wie er will ,-)

Hilft Dir das weiter ?

trulla


Baldyman

Zitat von: trulla am 02 Dezember 2009, 08:45:53
... wie hast du das gemacht?

Zitat von: Baldyman am 02 Dezember 2009, 07:57:09
... Habe mir dazu eine neue Funktion gebastelt ...

Hab die /modules/Encyclopedia/index.php ein wenig frisiert  :BD:
Wer es ausprobieren möchte, Datei häng ich ran.
SICHERUNG von der originalen index.php machen !

Änderung ist ab Zeile 123 ff.
Hier kann man auch die Anzahl der Spalten angeben.

Aufgerufen wird mit dem Link

http://www.deinseite.de/modules.php?name=Encyclopedia&op=all&eid=X

Wobei das X am Schluß ersetzt werden muß, mit der Zahl der Ency, die man als Liste anzeigen will.
z.B. http://www.deinseite.de/modules.php?name=Encyclopedia&op=all&eid=1

Hoffe es gefällt  :pardon:

trulla

 :smile:
Oh, danke. Das muss ich mir mal in Ruhe anschauen. Ich kann meine index nicht so ohne weiteres ersetzen, weil ich selber einige Änderungen vorgenommen habe. Ich melde mich dann mal, wenns funzt.

Baldyman

Mach das.
kannst ja auch einfach deine index.php mit der zusätzlichen Funktion erweitern.
Musst nur unten am Ende noch die Switch/Case Anweisung auch noch mit reinnehmen  ;)

xmjay

Hey  !

Schaut super aus  :cul:

Zitat von: trulla am 02 Dezember 2009, 11:49:16
Ich kann meine index nicht so ohne weiteres ersetzen, weil ich selber einige Änderungen vorgenommen habe.

Geht mir ebenso.
CMS-Version: pragmaMx 1.12.3 | PHP-Version: 5.2.12 | MySQL-Version: 5.1.66

xmjay

#17
Funzt  :BD:

In der index.php der Enzyklopädie den Code von Baldyman einfügen:
Ab ~ Zeile 123:

/************************************ NEUE FUNKTION UM ALLE EINTRÄGE EINER ENCY ANZUZEIGEN ************************************/
function list_content_all()
{
    global $module_name, $prefix, $pagetitle;
    $eid = (empty($_REQUEST['eid'])) ? 0 : intval($_REQUEST['eid']);
    $result = sql_query("select tid, eid, title from " . $prefix . "_encyclopedia_text where eid=" . intval($eid) . " ORDER BY title ASC");

        $pagetitle = _ENCYCLOPEDIA . ', ' . $title;
    include("header.php");
    title(_ENCYCLOPEDIA);
    OpenTable();

// wie viele Einträge gibt es ?
$countrows = sql_num_rows($result) ;

// wenn´s mehr als 0 sind, dann mach doch bitte folgendes ;-)
if($countrows > 0) {

// wie viele Spalten sollen es sein
$cols = 3;

// Zeilenanzahl ausrechnen
$rows = ceil($countrows / $cols);

// Ausgabe Tabelle
echo "<table border=\"1\" align=\"center\" class=\"list\" cellpadding=\"10\" cellspacing=\"0\" width=\"100%\" >";
for($i = 1; $i <= $rows; $i++) {

   echo "<tr>";

   for($j = 1; $j <= $cols; $j++) {

           $list = mysql_fetch_assoc($result);
          // solange was in der DB steht, gib folgendes aus
      if(!empty($list['title'])) {

                 // Link zusammensetzen
         echo "<td align=\"center\"><a href=\"/modules.php?name=Encyclopedia&amp;op=content&amp;tid=$list[tid]\">$list[title]</a></td>";

      } else {
                 // falls nix mehr von der kommt, Zellen mit Leerzeichen füllen ;-)
         echo "<td>&nbsp;</td>";
      }
   }
   echo "</tr>";
}
echo "</table>";

}

    CloseTable();
    echo '<br />';
    OpenTable();
    alpha($eid);
    CloseTable();
    echo '<br />';
    OpenTable();
    echo "<center><font class=\"tiny\">" . _COPYRIGHT . "</font></center>";
    CloseTable();
    include("footer.php");
}

/************************************ ENDE NEUE FUNKTION ************************************/



Ab ~ Zeile 378:

    case "all":
    list_content_all();
    break;


Dankeschön !!!


edit by Andi: kleine Syntaxkorrektur
CMS-Version: pragmaMx 1.12.3 | PHP-Version: 5.2.12 | MySQL-Version: 5.1.66