Author Topic: Snippet "Last modified Pages advanced" ergänzen?  (Read 1131 times)

Offline Tomno399

  • Posts: 211
Snippet "Last modified Pages advanced" ergänzen?
« on: July 05, 2016, 11:08:46 AM »
Hallo Gemeinde

Ich habe og. Snippet in einem Code2-Abschnitt schon über Jahre laufen, vielleicht hier aus dem Forum mal aktualisiert. Dabei fiel mir erst jetzt auf, dass eine Änderung/Ergänzung einer bestehenden Seite im rechten Block des Templates Sobresot nicht zu einer Anzeige in der Liste der zuletzt geänderten Seiten führt.

Kann man das vielleicht ergänzen? Wenn ja, bitte bedenken, dass ich kein Coder bin.

Gruß Tom

Und sorry, ich habe den Snippet-Thread übersehen. Vielleicht kann das jemand dorthin verschieben.

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Snippet "Last modified Pages advanced" ergänzen?
« Reply #1 on: July 05, 2016, 12:50:08 PM »
sprichst du davon? -> http://forum.WebsiteBaker.org/index.php/topic,15896.0.html

ein paar Fragen:
- erfolgt die gewünschte Anzeige überhaupt?
- funktioniert es in einem anderem Template?

Um den last-modified-Status zu ändern, sollte jedes Modul die entsprechende Funktion auch einbinden, das machen nicht alle Module!
Die Einbindung erfolgt mit diesem Code, der meist in der jeweiligen save...php zu finden ist.
Quote
// Tells script to update when this page was last updated
$update_when_modified = true;

Ein Modul, wo das auf jeden Fall drin ist, wäre das Wysiwyg. Fehlt dir solch eine Seite nach Inhaltsaktualisieru ng, liegt es wohl an der modules / admin.php
hier gab es im SP5 oder SP6 einen Tippfehler mit der Folge, das das Update nicht geschrieben wurde. Der Code dafür ist ganz am Ende der Datei. Bitte mit diesem ersetzen

Code: [Select]
// Work-out if the developer wants us to update the timestamp for when the page was last modified
if(isset($update_when_modified) && $update_when_modified == true) {
    $sql  = 'UPDATE `'.TABLE_PREFIX.'pages` SET '
          . '`modified_when` = '.time().','
          . '`modified_by` = '.$admin->get_user_id().' '
          . 'WHERE `page_id` = '.$page_id;
    $database->query($sql);
}

P.S.: gilt nur für WB

noch ein P.S.: falls obiges dein Problem nicht löst, bitte mal das Snippet zippen und hier anhängen.
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline Tomno399

  • Posts: 211
Re: Snippet "Last modified Pages advanced" ergänzen?
« Reply #2 on: July 05, 2016, 02:01:38 PM »
Hallo jacoby,

danke für die Antwort. Der von dir verlinkte Code ist nur annähernd gleich. Ich hänge mal meinen Code an.

Und ja, die Anzeige funktioniert unter WB283SP4 mit dem Template Sobresot und anderen auch! Das Problem ist nicht der WYSIWYG-Abschnitt im "Main-Block", denn der wird als zuletzt modifiziert gelistet.

Was nicht gelistet wird, sind die rechten Blöcke des Templates mit WYSIWYG.

Wenn du mal selbst schauen willst, gebe ich dir gern einen Zugang per PM.

Gruß Tom

PS. Meine admin.php sieht so aus:
Code: [Select]
// Work-out if the developer wants us to update the timestamp for when the page was last modified
if ($admin->get_user_id() != 1){
    if(isset($update_when_modified) && $update_when_modified == true) {
    $database->query("UPDATE `".TABLE_PREFIX."pages` SET `modified_when` = '".time()."', `modified_by` = '".$admin->get_user_id()."' WHERE `page_id` = '$page_id'");
    }
}

Wo müsste da was rein?
« Last Edit: July 05, 2016, 02:13:25 PM by Tomno399 »

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Snippet "Last modified Pages advanced" ergänzen?
« Reply #3 on: July 05, 2016, 02:59:31 PM »
Quote
Was nicht gelistet wird, sind die rechten Blöcke des Templates mit WYSIWYG.

bin nicht sicher, ob ich das recht verstehe, ich probier mal...
rechts ist eine Sidebar mit Inhalten, die ggf von versteckten Seiten kommen und wenn du einen dieser Inhalte aktualisierst, zählt er die nicht mit in den last-modified-Dateien?

Falls ich falsch bin, doch mal per PM zum schauen

Zum Code
Grundsätzlich werden nur Seiten aktualisiert, die auch in der pages-Tabelle gelistet sind, also z.b. keine Unterseiten von news, topics, bakery, oneforall usw. Dafür bräuchte man eigenen Code und auch anderen zum Auslesen der last-modified-Daten.
Ansonsten würde dein gezeigter Code nur arbeiten, wenn die Seite nicht vom SuperAdmin mit ID==1 bearbeitet bzw gespeichert wurde.

Da die meisten Nutzer selber SuperAdmin sind, erscheint das unsinnig, darum wurde der Code geändert, so das die User-ID-Abfrage nicht mehr gemacht wird
Der Code wäre austauschbar auch für SP4

diesen Code
Code: [Select]
// Work-out if the developer wants us to update the timestamp for when the page was last modified
if ($admin->get_user_id() != 1){
    if(isset($update_when_modified) && $update_when_modified == true) {
    $database->query("UPDATE `".TABLE_PREFIX."pages` SET `modified_when` = '".time()."', `modified_by` = '".$admin->get_user_id()."' WHERE `page_id` = '$page_id'");
    }
}

komplett tauschen gegen diesen
Code: [Select]
// Work-out if the developer wants us to update the timestamp for when the page was last modified
if(isset($update_when_modified) && $update_when_modified == true) {
    $sql  = 'UPDATE `'.TABLE_PREFIX.'pages` SET '
          . '`modified_when` = '.time().','
          . '`modified_by` = '.$admin->get_user_id().' '
          . 'WHERE `page_id` = '.$page_id;
    $database->query($sql);
}

hat aber beides nichts damit zu tun, wo eine Seite im Template gezeigt wird oder welche Sichtbarkeit sie hat

P.S.: möchtest du diese User-ID-Abfrage unbedingt behalten, dann so einfügen

Code: [Select]
// Work-out if the developer wants us to update the timestamp for when the page was last modified
if ($admin->get_user_id() != 1){
   if(isset($update_when_modified) && $update_when_modified == true) {
    $sql  = 'UPDATE `'.TABLE_PREFIX.'pages` SET '
          . '`modified_when` = '.time().','
          . '`modified_by` = '.$admin->get_user_id().' '
          . 'WHERE `page_id` = '.$page_id;
    $database->query($sql);
}
}
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline Tomno399

  • Posts: 211
Re: Snippet "Last modified Pages advanced" ergänzen?
« Reply #4 on: July 05, 2016, 10:38:41 PM »
Lieber Uwe,

ich entschuldige mich tausendmal. Ich habe etwas http://forum.WebsiteBaker.org/index.php/topic,28773.msg201519.html#msg201519 vergessen und du leider auch.

Man bin ich vergesslich geworden.

Danke für deine Mühe und blödsinnige Arbeit mit mir!

Gruß Tom

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Snippet "Last modified Pages advanced" ergänzen?
« Reply #5 on: July 05, 2016, 10:43:39 PM »
ich hab nix vergessen ;-)

siehe
Quote
P.S.: möchtest du diese User-ID-Abfrage unbedingt behalten, dann so einfügen.....
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline Tomno399

  • Posts: 211
Re: Snippet "Last modified Pages advanced" ergänzen?
« Reply #6 on: July 16, 2016, 08:52:24 AM »
Ich hab da mal eine Frage:

Der hier behandelte Code steht auf einer registrierten Seite, der User muss sich also anmelden um die letzten Änderungen zu sehen. Nun kam die Idee im Verein auf, dass die Mitglieder einen Feed dazu abonnieren könnten. Ich habe mir daraufhin das Modul RSS Site Feeder angeschaut, das dem Wunsch wohl entsprechen würde. Leider ist das Modul veraltet ...

Hat jemand das Modul am Laufen oder kann es einsatzfähig machen?

 

postern-length