[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
[Gelöst] Anzahl der Slices in Artikel ermitteln - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
MaloRox
Beiträge: 88
Registriert: 20. Jul 2009, 13:44

[Gelöst] Anzahl der Slices in Artikel ermitteln

9. Aug 2010, 11:36

Hola!

Ich müsste die Anzahl der Slices eines Artikels ermitteln. Habe keine Idee wie ich das mache...

Hat jemand eine Idee wie ich das ermitteln kann?

Danke im Voraus für jede Hilfe! :)
Zuletzt geändert von MaloRox am 10. Aug 2010, 08:48, insgesamt 1-mal geändert.

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: Anzahl der Slices in Artikel ermitteln

9. Aug 2010, 12:49

MaloRox hat geschrieben:Ich müsste die Anzahl der Slices eines Artikels ermitteln. Habe keine Idee wie ich das mache...
Klingt so als sollte es dir weiterhelfen: OOArticleSlice::getSlicesForArticle

hth,
Jan
vg, Jan

MaloRox
Beiträge: 88
Registriert: 20. Jul 2009, 13:44

9. Aug 2010, 15:07

Hi Jean und danke!

War's net ganz. Habe es jetzt so heraus bekommen und kann das ermittelte Array auch durchlaufen:

Code: Alles auswählen

// Alle Slices in Artikel ID 11 des Moduls "Fliesstext" (ID: 1) auslesen
$slicesArray = OOArticleSlice::getSlicesForArticleOfType(11,1);

// Anzahl der Slices ermitteln
$anzahlSclices=count($slicesArray)

// Slices durchlaufen
foreach($slicesArray as $slice) {

   ...

}

Vielen herzlichen Dank, es hat mich weiter gebracht :)

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

9. Aug 2010, 15:38

Hej,

mit

Code: Alles auswählen

getSlicesForArticleOfType
bekommst du aber nur die Slices geliefert, die auch das entsprechende Modul benutzen.

Ich würde gar eher eine direkte SQL Abfrage machen.

vg Thomas

MaloRox
Beiträge: 88
Registriert: 20. Jul 2009, 13:44

9. Aug 2010, 20:58

hi thomas und danke!

jap genau so wollte ich es auch. das passt 1a mit dem was ich vorhabe!

danke! :)

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

9. Aug 2010, 22:15

@Thomas...
kannste du bitte mal ein Beispiel Query zum Auslesen
der Slices eines Artikels posten. Danke

grz. Chris

Benutzeravatar
raybeam
Beiträge: 442
Registriert: 5. Feb 2006, 21:30
Kontaktdaten: Website

10. Aug 2010, 08:44

Hallo Chris,

so z. B.

Code: Alles auswählen

SELECT * FROM `rex_article_slice` WHERE `article_id`=1
Gruß

Peter

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

10. Aug 2010, 08:45

redaxo ist so einfach gestrickt und ich denk einfach immer zu
kompliziert... *grmpf*.

Danke Peter...
grz. Chris

MaloRox
Beiträge: 88
Registriert: 20. Jul 2009, 13:44

10. Aug 2010, 08:47

danke dafür!
ist auch doch besser es so auszulesen. bei getSlicesForArticleOfType vermurkst er die reihenfolge der slices. nicht zufriedenstellend. werde es heute morgen auch wieder umprogrammieren.

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

10. Aug 2010, 08:50

Hej Chris,

anbei 2 Beispiele

Code: Alles auswählen

<?php

// Anzahl der Slices eines Artikels
$sql = new rex_sql();
$sql->debugsql = true;
$sql->setQuery('SELECT COUNT(id) AS count FROM rex_article_slice WHERE article_id = "'.$this->getValue('article_id').'" AND clang = "'.$REX['CUR_CLANG'].'" GROUP BY article_id');


echo $sql->getValue('count');



// Slices in der richtigen Reihenfolge eines Artikels
$slice_revision = 0;

$sql = new rex_sql();
$sql->debugsql = true;
$res = $sql->getArray("SELECT ".$REX['TABLE_PREFIX']."article_slice.*
            FROM
              ".$REX['TABLE_PREFIX']."article_slice
            WHERE
              ".$REX['TABLE_PREFIX']."article_slice.article_id='".$this->getValue('article_id')."' AND
              ".$REX['TABLE_PREFIX']."article_slice.clang='".$REX['CUR_CLANG']."' AND
              ".$REX['TABLE_PREFIX']."article_slice.revision='".$slice_revision."'
              ORDER BY ".$REX['TABLE_PREFIX']."article_slice.re_article_slice_id");
              
 
print '<pre style="text-align: left;">';
print_r($res);
print '</pre>';
?>
vg Thomas

MaloRox
Beiträge: 88
Registriert: 20. Jul 2009, 13:44

10. Aug 2010, 08:51

riesigen dank, thomas! 1a! :)

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

10. Aug 2010, 09:31

öhm.. dacht ich mir doch das man dafür n
paar Codzeilen mehr braucht ...

Somit ists nun auch hier im Forum verewigt ;) ...

Danke. Thomas.
grz. Chris

Zurück zu „Allgemeines [R4]“