30.07.10

MODX - zliczanie wyników Ditto

Prędzej czy później używając MODX i Ditto natrafimy na sytuację kiedy będziemy chcieli otrzymać liczbę  dokumentów dla danego zapytania Ditto. Taka sytuacja może mieć miejsce np. gdy będziemy potrzebowali wstawić warunek taki jak: "jeśli liczba artykułów uzyskanych przez Ditto jest większa od zera to..." Jak to zrobić? Tworząc malutki snippet.

Kod snippeta

Snippet nazwijmy DittoCounter.
Uwaga: z trzeciej linijki od końca należy usunąć cztery spacje w [ + total + ].

<?php
// Simple Ditto Results Counter gives the number of documents that meet the criteria
// Note: please remove spaces in [ + total + ] at the end of the snippet
// Usage example: [ [ DittoCounter?dcParents=`15`&dcFilter=`field,2,1` ] ]
// By: Piotr Matysiak / pm-fx.com

$params['paginate']='1';
$params['parents']=$dcParents;
$params['filter']=$dcFilter;
$output = $modx->runSnippet('Ditto',$params);
$output = '[ + total + ]';
return $output;
?>

Przykład użycia

Wywoływać go będziemy w ten sposób:

[ [ DittoCounter?dcParents=`15`&dcFilter=`field,2,1` ] ]

Parametry:

  • dcParents - katalogi, które Ditto ma wziąć pod uwagę
  • dcFilter - zasady filtrowania (zgodnie ze specyfikacją Ditto)

Zwrócony wynik, to liczba dokumentów z wybranych katalogów (dcParents) spełniających określone kryteria (dcFilter) :)

Dodaj komentarz

Google+FacebookdeviantARTFlickrLast.fmRSS

Powered by MODX CMS

Content Management System, Framework, and More