How-To: Kopieren des Pragma-MX Content-Moduls

Begonnen von breakdancer, 21 Dezember 2007, 10:18:32

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

breakdancer

Moin,

nach langem Hin- und Herüberlegen habe ich mich heute entschlossen, einen größeren Eingriff in meinem PragmaMX vorzunehmen: Das Content-Modul soll dupliziert werden, da das Teil selbst keine Unterkategorien erlaubt, ich jedoch mehrere Content-Teilbereiche benötige.

Dazu habe ich in den letzen Stunden das Forum aufmerksam studiert um auf das Kommende vorbereitet zu sein.

Ich möchte mit euch zusammen gerne diesen Umbau durchführen, weil ich eure Hilfe dazu benötige und wir vielleicht anderen Usern diesen oft angesprochenen Vorgang etwas erleichtern können.

Wie ich aus den Forenbeiträgen ersehen konnte, kann man das Kopieren in drei grobe Einzelschritte unterteilen:

1) Kopieren und Umbenennen des Content-Moduls

2) Zugehörige Datenbanktabellen kopieren, umbenennen und neu in die Datenbank einspielen

3) Anpassen der Datenbankverweise im Modul selbst, Kopieren und Umbenennen der Dateien sowie Anpassen der Pfade im Admin-Bereich.


Zu 1)

Hierfür wird das Modul aus http://deinPfadzumPragmaMX/modules/content/

kopiert, umbenannt und wieder auf den Server hochgeladen. Der Pfad zu Deinem neuen Modul sieht dann in etwa so aus: http://deinPradzumPragmaMX/modules/NameDeinesneuenModuls/

Diesen Schritt bin ich jetzt gegangen. Schritt 1 ist abgeschlossen.


Zu 2)

Hier ist mein persönlicher erster Pferdefuß: Das Kopieren der Datenbanktabellen macht mir Schwierigkeiten, da es zwar für viele Module eigene Tabellen gibt (Links, Topics, Stories) nicht jedoch für das Modul "Content".

Konkrete Frage, bevor es weitergeht: Welche Datenbanktabellen muss ich nun für das Contentmodul auswählen und herunterladen ?

Liebe Grüße

Markus


StegRene

#1
Schau Dir mal http://www.viennaffairs.at an -> da ist es ohne Änderungen der DB gelöst.
Vielleicht reicht Dir das ja.

Wenn nicht, schau ich am WE mal in meine DB, da sollt man über den Content ja die richtigen Tabellen finden können.

//Edit1:

Als erstes ist mal die "pages"
Aber man sollte im Quellcode doch sehen, welche Tabellen er noch anspricht?
Kann nur grad ned schauen, ich bin im Büro

breakdancer

#2
Hallo René,

wenn ich das richtig sehe, hast Du das Problem gelöst, indem Du einzelne Content-Seiten aufrufst.

Das ist leider für mich nicht ausreichend, denn ich brauche defintiv verschiedene Inhaltsbereiche mit Einzelkategorien.

Damit Du weisst, was gemeint ist, hier ein Beispiel:


Name des Content-Moduls           Aufbau                                Einzelner Content

Volksfeste                                 Lukasmarkt Mayen                Historisches
                                                                                          Anfahrt und Parken
                                                                                          Veranstaltungen
                                                                                          Rückblick 2007
                                                                                          Rückblick 2006

                                               Allerheiligenkirmes, Soest       Historisches
                                                                                          Anfanrt und Parken
                                                                                          Veranstaltungen
                                                                                          Rückblick 2007
                                                                                          Rückblick 2006

Fahrgeschäfte                           Fly Away                                Allgemein
                                                                                          Geschichte
                                                                                          Technik
                                                                                          Reisende Exemplare

                                              Wilde Maus                            Allgemein
                                                                                          Geschichte
                                                                                          Technik
                                                                                          Reisende Exemplare

So ist es geplant. Anders kann ich es nicht umsetzen. Das Encyclopedia-Modul wäre auch nicht schlecht, aber auch da ist eine übersichtliche Gliederung nicht so möglich, wie ich mir das wünsche.

Ich guggemal in den Quellcode rein, was da so passiert. Muss mich ja eh damit beschäftigen. Was ich ja nur möchte, sind so ein paar Denkanstöße. Will es ja lernen.

Liebe Grüße

Markus


EDIT: Sooo, das war jetzt net sooo viel Arbeit. Die betreffenden Abfragen betreffen nur folgende Tabellen:

Also, die Datenbanktabellen die das Content-Modul anspricht sind folgende:

prefix_pages

prefix_pages_categories

und zwar in den Dateien index.php und friend.php des Content-Moduls.

Ich werde mir beide Tabellen jetzt mal rausziehen, umbenennen und wieder neu einspielen, danach die Abfragen ändern und dann mal sehen !  :BD:

Liebe Grüße

Markus

StegRene

Wie gesagt, Anstöße sind mein Hauptgebiet ;)
Programmieren kann ich selbst nur ein bisschen.

Ich versteh Dein Problem, ich kenn das auch.
Da meinen Seiten aber untereinander verlinkt sind, reichte mir "die kleine Lösung".
Gern nutze ich aber auch die dann von Dir erarbeitete Lösung ;)

Dumme Frage:
Über die "Spezialbereiche" läßt sich Dein Problem nicht einfacher lösen?

breakdancer

  :smile: So ist es. Der ganze Aufwand mit dem "How To" sollte ja auch genau dafür sein, dass andere das einfach und "auf die Schnelle" nachbauen können. Am Ende von diesem Thread wird eine genaue Schritt-für-Schritt-Anleitung stehen, möglicherweise auch ein komplettes 2. Content-Modul zum Upload, falls das von Adminseite erlaubt ist. Aber schaun wer erstmal.

Der erste Versuch die Datenbanken mit den geänderten Tabellennamen einzuspielen ist schonmal schief gegangen. Das lag aber daran, dass ich heute morgen nicht viel Zeit hatte und den Auszug per PhpMyAdmin gemacht habe. Da läuft gerne mal was falsch und so gab es auch prompt nen SQL-Fehler.

Aber jetzt in aller Ruhe der zweite Versuch.

Der Tip mit den Spezialbereichen ist gut, leider ist dieser bei mir auch schon thematisch belegt.  :BD:

Bis später !

LG

Markus

breakdancer

So Leute, das zweite Content-Modul ist soweit fertig. Ein paar Ungereimtheiten gibt es noch, z. B. habe ich wohl einigen "Content"-Variablen im neuen Modul vergessen umzuschreiben, bin aber gerade dabei auch diese entsprechend neu zu definieren.

Mehr isses ja net... :-) Am meisten Geduld benötigt man beim Admin-Modul, wo die ganzen Funktionen umgeschrieben werden müssen, aber das geht auch mit etwas Geduld.

Was nur ein bisschen mühselig ist, später alle Schritte einzeln aufzuschreiben. Die meisten Änderungen sind ja nur namentliche Umschreibungen der Variablen.

Oh Mann, da hab ich mir was aufgehalst...

Ich werde das Modul später nochmal komplett umschreiben. Derzeit habe ich die Variable sowie die Tabellennamen "volksfest" verwendet.

Wenn ich damit fertig bin, stelle ich es erstmal hier rein, damit ihr schonmal was zum Guggen habt. Hoffe, so um neun Uhr sollte das erledigt sein.

Liebe Grüße

Markus

breakdancer

Ho ho ho...

So, das Modul ist fertig und meinerseits mehrfach auf Funktionsfähigkeit getestet.

Frage an die Admins: Besteht Eurerseits Interesse, dass ich das Ganze mit einer kleinen Doku in die Downloads einsende ?

Ansonsten lade ich das Modul auf meinen Server und stelle es hier im Forum zum Download.

Liebe Grüße

Markus

breakdancer

Nö, net fertig... Sorry, wenn ich nochmal schreibe...

Ich brauche doch nochmal eure Hilfe.

Ich habe jetzt ein Problem beim z. B. Löschen und Ändern der Kategorien im Original Content-Modul.

Wenn ich im Original Content-Modul jetzt eine Kategorie ändere oder lösche, bleibe ich nur solange im Original Content Modul, bis ich in der Auswahlliste eine Kategorie ausgesucht und auf "ändern" geklickt habe. Daraufhin springt mein PMX automatisch auf die Kategorien des neuen Moduls und löscht bzw. ändert dort.

Kann m. E. eigentlich gar nicht sein, denn das Original Content-Modul (auch der Admin-Bereich davon) wurde von mir gar nicht verändert.

Wer weiss Rat ?

Liebe Grüße

Markus

Vidar

Hi,

dass klingt für mich danach, als hättest du bei der Änderung der Verweise auf die Datenbank einen Eintrag vergessen. Ich hatte damit auch ziemlich zu kämpfen, weil es einfach so viele Einträge gibt und man schnell mal einen übersieht. Schau doch einfach noch mal deine geänderten Dateien im neuen Modul durch, ob es nicht noch ein "versteckten" Verweis gibt, der noch nicht geändert wurde.

Hab mit der Suche vom Editor nach "pages" gesucht und so den ein oder anderen Verweis gefunden, der noch nocht geändert wurde.
"You can't just talk about your problems - you have to look for solutions!"

breakdancer

Hey Vidar,

nope, nochmals kontrolliert, da hab ich alles ersetzt. Hätte mich auch gewundert, denn es passiert ja vom Original Content Modul zum kopierten Modul und nicht umgekehrt... Seltsam ist das allemal..

Noch eine Idee ?

LG

Markus

m-t

hast auch admin\modules\content.php geändert, oder nur die dateien vom modul selbst ???

breakdancer

nö, nur die vom Modul. Die Content-Dateien im Admin-Bereich habe ich kopiert, umbenannt und dann entsprechend die ganzen Definitionen "content" in "volksfest" umbenannt.

Mehr nicht.  ;)

Liebe Grüße

Markus

m-t

Zitat von: breakdancer am 21 Dezember 2007, 20:50:51
und dann entsprechend die ganzen Definitionen "content" in "volksfest" umbenannt.

sql_query("update " . $prefix . "_pages set

breakdancer

Hm, wo hasten das jetzt her ? Das müsste ebenfalls "volksfest" heissen... Denn die Tabellen heissen "volksfest" und "volksfest_categories"...

Sprich ?  ;) Bitte in ganzen Sätzen *lach*

Ich weiss, es ist etwas doof eine Variable und einen Tabellennamen gleich zu benennen, aber in dem Fall war es für mich einfacher... Ist ja mein erster Versuch in dem Feld. Und im Kontext kann man ja immer klar erkenne, ob da eine .sql-Abfrage dahintersteckt oder nicht...


StegRene

Ok, ganzer Satz:

Wie ich es verstanden habe, hat er den angegebenen Code in der Datei "admin\modules\content.php " entdeckt.

breakdancer

 :puzzled: Ja, das ist ja auch richtig, oder ?

Das ist die Admin-Oberfläche vom Original-Content-Modul. Da bleiben natürlich die Pfade und DB-Abrufe wie gehabt, denn an diesem Modul ändert sich ja nüscht...

Ich peile es nicht. Hab so genau drauf geachtet, dass die Sachen sauber getrennt bleiben...

LG

Markus

StegRene

Naja, und ......... ach so.

Öhms. Jetzt wird mir das Problem klar.  :red:

Sekunde <nachdenk>  :gruebel:

m-t

Zitat von: breakdancer am 21 Dezember 2007, 22:06:36
Da bleiben natürlich die Pfade und DB-Abrufe wie gehabt, denn an diesem Modul ändert sich ja nüscht...

sorry war am fernseher :-)

damit wird der db eintrag aktualisiert und wenn die felder, in dem fall _pages, den gleichen namen haben dann änderst auch mit der kopie den original-eintrag  ;)

StegRene

@m-t: Aber er hat das Problem, wenn er in der ORIGINAL-Content-Kategorie-Einstellung was ändert, oder hab ich das falsch verstanden?

Zitat
Ich habe jetzt ein Problem beim z. B. Löschen und Ändern der Kategorien im Original Content-Modul.

Wenn ich im Original Content-Modul jetzt eine Kategorie ändere oder lösche, bleibe ich nur solange im Original Content Modul, bis ich in der Auswahlliste eine Kategorie ausgesucht und auf "ändern" geklickt habe. Daraufhin springt mein PMX automatisch auf die Kategorien des neuen Moduls und löscht bzw. ändert dort.

m-t

Zitat
bleibe ich nur solange im Original Content Modul, bis ich in der Auswahlliste eine Kategorie ausgesucht und auf "ändern" geklickt habe. Daraufhin springt mein PMX automatisch auf die Kategorien des neuen Moduls und löscht bzw. ändert dort.

na, wenn er was "ändert" geschieht das ja auf jeden fall im admin-bereich also liegt der "fehler" auch in dieser datei.

die datei mal hier ranhängen würde evtl. weiterhelfen ;-)