ConPresso Community

Fragen, Antworten, Diskussionen rund um das Content Management System ConPresso

 
Feld "Author" in _local_header abfragen?
Gehe zu Seite 1, 2  Weiter
 
Neue Antwort erstellen    ConPresso Community Foren-Übersicht -> Implementierung/Anpassung ConPresso 4
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
dutch
ConPresso-Experte


Anmeldungsdatum: 04.07.2007
Beiträge: 515

BeitragVerfasst am: 04.09.2014 20:01    Titel: Feld "Author" in _local_header abfragen? Antworten mit Zitat

Hi zusammen,

ich würde gern eine Rubrik im _local_header includen in Abhängigkeit vom im Artikel angegebenen "Author".
Kann ich dieses Feld irgendwie abfragen, so wie z.B. den Rubriktitel?? Rolling Eyes

Gruß,
dutch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6993

BeitragVerfasst am: 04.09.2014 21:25    Titel: Antworten mit Zitat

Dein Problem ist erst mal "im Artikel".

Eine Rubrik hat ja viele Artikel und somit auch viele Autoren.

Nur im Falle eines Artikels mit einem Autor wäre das realisierbar.
mod_pages gibt in $authors_string den Autor zur Verwendung in den Header-Dateien aus.

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dutch
ConPresso-Experte


Anmeldungsdatum: 04.07.2007
Beiträge: 515

BeitragVerfasst am: 04.09.2014 21:30    Titel: Antworten mit Zitat

Hallo Markus,

ich bräuchte die Ausgabe nur auf der Detailseite, dann gäbe es ja nur einen Autor.
Aber wenn ich richtig verstehe, geht das nur mit mod_pages?

Gruß,
ducth
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6993

BeitragVerfasst am: 04.09.2014 21:37    Titel: Antworten mit Zitat

Nein, in mod_pages ist es eben nur schon ready to use.

Stattdessen kannst Du auf der Detailseite ja anhand von $_REQUEST['nr'] (=Artikelnummer) mit einer simplen Abfrage den Autor des Artikels ermitteln.

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dutch
ConPresso-Experte


Anmeldungsdatum: 04.07.2007
Beiträge: 515

BeitragVerfasst am: 04.09.2014 21:47    Titel: Antworten mit Zitat

Uh! - Das klingt zwar logisch, aber ich fürchte da mangelt es mir mal wieder an der nötigen PHP Kenntnis.

Wie müsste denn sowas genau aussehen? Embarassed

Gruß,
dutch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6993

BeitragVerfasst am: 05.09.2014 04:57    Titel: Antworten mit Zitat

Code:
$getAutor = new DB;
$getAutor->query("SELECT autor FROM cpo4_news WHERE nr = ".(int)$_REQUEST['nr']);
$getAutor->next_record();
$articleAutor = $getAutor->v('autor');

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dutch
ConPresso-Experte


Anmeldungsdatum: 04.07.2007
Beiträge: 515

BeitragVerfasst am: 05.09.2014 08:41    Titel: Antworten mit Zitat

Hallo Markus,

Vielen Dank!
Ich werde es ausprobieren.

Gruß,
dutch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dutch
ConPresso-Experte


Anmeldungsdatum: 04.07.2007
Beiträge: 515

BeitragVerfasst am: 05.09.2014 09:57    Titel: Antworten mit Zitat

Habe es gerade eingebaut und getestet und an sich funktioniert es auch.
Über die If-Anweisung kann ich Autoren-abhängig etwas ausgeben.

Code:

$getAutor = new DB;
$getAutor->query("SELECT autor FROM cpo4_news WHERE nr = ".(int)$_REQUEST['nr']);
$getAutor->next_record();
$articleAutor = $getAutor->v('autor');
if ($articleAutor == 'Administrator'){
  ### Ausgabe ###
}


Was ich jetzt aber noch gerne hinbekommen würde, wäre die Ausgabe eines bestimmten Artikels einer anderen Rubrik in der If-Anweisung.
Ich habe schon versucht, die Rubrik einfach einzubinden innerhalb der If-Anweisung, auf die Art und Weise, die du (Markus) es einmal vorgestellt hattest, aber das funzt hier wohl nicht... Confused

Code:

$getAutor = new DB;
$getAutor->query("SELECT autor FROM cpo4_news WHERE nr = ".(int)$_REQUEST['nr']);
$getAutor->next_record();
$articleAutor = $getAutor->v('autor');
if ($articleAutor == 'Administrator'){
   $rubrikid = 2; //  Rubrik-id
   $artikelanzahl = 1; // maximale Anzahl der auszugebenden Artikel
   $sortierung = 'sort_id DESC'; // Art der Artikelsortierung
                                    
                                 
               // ab hier nix mehr ändern
               if (!defined('CPO')) exit;
                                       
               $query = "SELECT rubric_id, commentary, verfallsdatum, templates_id, nr, idx, email, autor, pub_datum, titel, initial, freigabe, changer FROM " . CPO_NEWS . " WHERE " . ( $cpoSystem['release'] ? "artikel_archiv<2 AND freigabe=" . STATE_RELEASED : "artikel_archiv<1 AND freigabe!=" . STATE_BLOCKED ) . " AND pub_datum<='" . date('Y-m-d H:i:s', time()) . "' AND verfallsdatum>='".date('Y-m-d H:i:s', time())."' AND rubric_id='".$rubrikid."' ORDER BY ".$sortierung." LIMIT 0," . $artikelanzahl . " ";
               $db = new DB;
               $db->query($query);
                                       
               while($db->next_record()) {
                                       
               $db_template      = $db->v('templates_id');
               $db_nr            = $db->v('nr');
               $db_idx           = $db->v('idx');
               $db_email         = $db->v('email');
               $db_autor         = $db->v('autor');
               $db_changer       = $db->v('changer');
               $db_pub_datum     = $db->v('pub_datum');
               $db_verfallsdatum = $db->v('verfallsdatum');
               $db_commentary    = $db->v('commentary');
               $db_titel         = $db->v('titel');
               $db_initial       = $db->v('initial');
               $db_freigabe      = $db->v('freigabe');
               $db_rubric_id     = $db->v('rubric_id');
               require(CPO_BASEDIR.'_include/select_template.php');
                           
               }
}


Ich denke vermutlich mal wieder zu simpel Embarassed

Gruß,
dutch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dutch
ConPresso-Experte


Anmeldungsdatum: 04.07.2007
Beiträge: 515

BeitragVerfasst am: 05.09.2014 10:46    Titel: Antworten mit Zitat

Funktioniert wahrscheinlich doch!

Habe eben noch einen Fehler im Template behoben.
Ich melde mich wieder, sobald ich ausführlicher getestet habe.

Gruß,
dutch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6993

BeitragVerfasst am: 05.09.2014 11:31    Titel: Antworten mit Zitat

Wenn Du CPO 4.1.x benutzt könntest Du auch dessen Funktionen benutzen:

Code:

// function getArticles($rubricId, $pagetype = 'index', $pos = 0, $cpoRubricOverride = array())
$individualContent = getArticles(2, 'index', 0, array('sorting'=>'sort_id DESC', 'noOfArticles'=>1));
echo $individualContent;


Nicht getestet!

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dutch
ConPresso-Experte


Anmeldungsdatum: 04.07.2007
Beiträge: 515

BeitragVerfasst am: 05.09.2014 12:50    Titel: Antworten mit Zitat

Sieht auch gut aus!
Werde ich ebenfalls testen.

Danke!

Gruß,
dutch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dutch
ConPresso-Experte


Anmeldungsdatum: 04.07.2007
Beiträge: 515

BeitragVerfasst am: 05.09.2014 13:10    Titel: Antworten mit Zitat

Die zweite Lösung funktioniert ebenfalls prima und ist natürlich noch besser, da wesentlich eleganter/schlanker.

Vielen Dank!

Gruß,
dutch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dutch
ConPresso-Experte


Anmeldungsdatum: 04.07.2007
Beiträge: 515

BeitragVerfasst am: 10.09.2014 09:04    Titel: Anzahl der Artikel beschränken? Antworten mit Zitat

Habe doch noch eine Frage zu dieser Funktion.

Code:

// function getArticles($rubricId, $pagetype = 'index', $pos = 0, $cpoRubricOverride = array())
$individualContent = getArticles(2, 'index', 0, array('sorting'=>'sort_id DESC', 'noOfArticles'=>1));
echo $individualContent;


Ich habe gemerkt, dass die Funktion zwar die Artikel ab der angegebenen Position ($pos) ausgibt aber nicht nur einen Artikel, sondern alle folgenden...
Ich dachte, dass die Angabe 'noOfArticles'=>1 für die Ausgabe nur eines Artikels sorgen würde, aber leider wird das irgendiwe ignoriert.

Habe ich da noch was vergessen?

Gruß,
dutch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6993

BeitragVerfasst am: 10.09.2014 17:21    Titel: Antworten mit Zitat

Probiere mal
Code:

$cpoRubricOverride = array();
$cpoRubricOverride['settings']['noOfArticles'] = 1;
$cpoRubricOverride['settings']['sorting'] = 'sort_id DESC';
$individualContent = getArticles(2, 'index', 0, $cpoRubricOverride);
echo $individualContent;


Die Funktion ist leider undokumentiert und ich habe versucht aus den Codes für Seitentemplates das richtig zu interpretieren und dabei wohl eine Ebene im Array vergessen.

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dutch
ConPresso-Experte


Anmeldungsdatum: 04.07.2007
Beiträge: 515

BeitragVerfasst am: 10.09.2014 19:11    Titel: Paginierung in eingebundener Rubrik abschalten? Antworten mit Zitat

Hallo Markus,

ja, so funktioniert es!
Vielen Dank.

Einen Schönheitsfehler gibt es aber noch: die Paginierung der eingebundenen Rubrik wird angezeigt...
Lässt sich die evtl. auch noch irgendwie abschalten?
Dann wäre es perfekt!

Gruß,
dutch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neue Antwort erstellen    ConPresso Community Foren-Übersicht -> Implementierung/Anpassung ConPresso 4 Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen