Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano


 

{{$where = array( 'file_submitted>?', \IPS\DateTime::create()->sub( new \DateInterval( 'P1D' ) )->getTimestamp() ); $cntFiles = \IPS\downloads\File::getItemsWithPermission( $where, 'file_submitted DESC', NULL, 'read', \IPS\Content\Hideable::FILTER_AUTOMATIC, 0, NULL, FALSE, FALSE, FALSE, TRUE );}}

  Dodano dzisij {$cntFiles}


I jak dodać do tego żeby nie pokazywało ze wszystkich kategorii? Bo chce dodać dwa liczniki jeden do jednej kategorii a drugi do drugiej kategorii. Jedna kategoria z takim ID druga z innym ID
 

logo.png.519590789bae8db2833a4ecc09316aef.png

Zostaw suba, dużo pomożesz w tworzeniu: https://www.youtube.com/channel/UC8T8FoCAhg64dNIxQfCwhEQ

  • Manager
Opublikowano
{{$where1 = array( array('file_submitted>?', \IPS\DateTime::create()->sub(new \DateInterval('P1D'))->getTimestamp()), array('file_cat=?', 1) );}}
{{$cntFiles1 = \IPS\downloads\File::getItemsWithPermission($where1, 'file_submitted DESC', NULL, 'read', \IPS\Content\Hideable::FILTER_AUTOMATIC, 0, NULL, FALSE, FALSE, FALSE, TRUE);}}

Dodano dzisiaj w kategorii 1: {$cntFiles1}

{{$where2 = array( array('file_submitted>?', \IPS\DateTime::create()->sub(new \DateInterval('P1D'))->getTimestamp()), array('file_cat=?', 2) );}}
{{$cntFiles2 = \IPS\downloads\File::getItemsWithPermission($where2, 'file_submitted DESC', NULL, 'read', \IPS\Content\Hideable::FILTER_AUTOMATIC, 0, NULL, FALSE, FALSE, FALSE, TRUE); }}

Dodano dzisiaj w kategorii 2: {$cntFiles2}

 

ID wiadomo, że do podmiany! :)

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano
27 minut temu, DawPi napisał(a):
{{$where1 = array( array('file_submitted>?', \IPS\DateTime::create()->sub(new \DateInterval('P1D'))->getTimestamp()), array('file_cat=?', 1) );}}
{{$cntFiles1 = \IPS\downloads\File::getItemsWithPermission($where1, 'file_submitted DESC', NULL, 'read', \IPS\Content\Hideable::FILTER_AUTOMATIC, 0, NULL, FALSE, FALSE, FALSE, TRUE);}}

Dodano dzisiaj w kategorii 1: {$cntFiles1}

{{$where2 = array( array('file_submitted>?', \IPS\DateTime::create()->sub(new \DateInterval('P1D'))->getTimestamp()), array('file_cat=?', 2) );}}
{{$cntFiles2 = \IPS\downloads\File::getItemsWithPermission($where2, 'file_submitted DESC', NULL, 'read', \IPS\Content\Hideable::FILTER_AUTOMATIC, 0, NULL, FALSE, FALSE, FALSE, TRUE); }}

Dodano dzisiaj w kategorii 2: {$cntFiles2}

 

ID wiadomo, że do podmiany! :)


Tak jak wyżej napisałem, po zmianie ID na swoje pokazuje tu i tu zero a były dodawane dzisiaj pliki, pliki nie są w głównej kategorii tylko w subkategoriach tej kategorii ale dziwne ze ten pierwszy wszystko zlicza a ten nie chce zliczać z kategorii czyli z subkategorii jakie ma dana  kategoria.

logo.png.519590789bae8db2833a4ecc09316aef.png

Zostaw suba, dużo pomożesz w tworzeniu: https://www.youtube.com/channel/UC8T8FoCAhg64dNIxQfCwhEQ

Opublikowano

Może coś takiego lepsze? Mniej kodu

{{$yesterday = \IPS\DateTime::create()->sub(new \DateInterval('P1D'))->getTimestamp();}}
{{$categoryGroups = [ ['ids' => [1, 2, 5], 'name' => 'kategorii 1, 2 i 5'], ['ids' => [2], 'name' => 'kategoria 2'] ]; }}
{{foreach $categoryGroups as $group}}
    {{$where = [['file_submitted > ?', $yesterday], ['file_cat IN(' . implode(',', $group['ids']) . ')']];}}
    {{$count = \IPS\downloads\File::getItemsWithPermission($where, 'file_submitted DESC', NULL, 'read', \IPS\Content\Hideable::FILTER_AUTOMATIC, 0, NULL, FALSE, FALSE, FALSE, TRUE);}}
    Dodano dzisiaj w {$group['name']}: {$count}<br>
{{endforeach}}

 

 

Opublikowano (edytowane)
12 minut temu, Weak. napisał(a):

Może coś takiego lepsze? Mniej kodu

{{$yesterday = \IPS\DateTime::create()->sub(new \DateInterval('P1D'))->getTimestamp();}}
{{$categoryGroups = [ ['ids' => [1, 2, 5], 'name' => 'kategorii 1, 2 i 5'], ['ids' => [2], 'name' => 'kategoria 2'] ]; }}
{{foreach $categoryGroups as $group}}
    {{$where = [['file_submitted > ?', $yesterday], ['file_cat IN(' . implode(',', $group['ids']) . ')']];}}
    {{$count = \IPS\downloads\File::getItemsWithPermission($where, 'file_submitted DESC', NULL, 'read', \IPS\Content\Hideable::FILTER_AUTOMATIC, 0, NULL, FALSE, FALSE, FALSE, TRUE);}}
    Dodano dzisiaj w {$group['name']}: {$count}<br>
{{endforeach}}

 

 


no mniej kodu ale tez zlicza z głównej kategorii nie z podkategorii 😕 i jest rezultat 0.

ale jak dodam 36 szt ID do podkategori to zlicza, szkoda ze nie da sie podaj ID głównej kategori i zeby zliczało z podkategori 

Edytowane przez Majster87

logo.png.519590789bae8db2833a4ecc09316aef.png

Zostaw suba, dużo pomożesz w tworzeniu: https://www.youtube.com/channel/UC8T8FoCAhg64dNIxQfCwhEQ

Opublikowano

Dlatego masz:

['ids' => [1, 2, 5], 'name' => 'kategorii 1, 2 i 5']

Tu gdzie 

[1, 2, 5]

To subkategorie.

 

7 minut temu, Majster87 napisał(a):

ale jak dodam 36 szt ID do podkategori to zlicza, szkoda ze nie da sie podaj ID głównej kategori i zeby zliczało z podkategori 

Pewnie da się, przez połączenie dwóch kolumn, ale komu się chce to robić. 😁

Opublikowano
3 minuty temu, Weak. napisał(a):
[1, 2, 5]

To subkategorie.

tyle to wiem dodałem od 3 do 42 i zlicza 😛

 

 

3 minuty temu, Weak. napisał(a):
12 minut temu, Majster87 napisał(a):

ale jak dodam 36 szt ID do podkategori to zlicza, szkoda ze nie da sie podaj ID głównej kategori i zeby zliczało z podkategori 

Pewnie da się, przez połączenie dwóch kolumn, ale komu się chce to robić. 😁


no jak bym wiedział jak to bym sie tu nie pytał jak to ogarnac 😛

logo.png.519590789bae8db2833a4ecc09316aef.png

Zostaw suba, dużo pomożesz w tworzeniu: https://www.youtube.com/channel/UC8T8FoCAhg64dNIxQfCwhEQ

Opublikowano (edytowane)

Może coś takiego?

{{$yesterday = \IPS\DateTime::create()->sub(new \DateInterval('P1D'))->getTimestamp();}}
{{$categoryGroups = [ ['main_id' => 1, 'name' => 'XXX'], ['main_id' => 2, 'name' => 'XXX'] ]; }}
{{foreach $categoryGroups as $group}}
    {{$category = \IPS\downloads\Category::load($group['main_id']); }}
    {{$catIds = [$category->id];}}
    {{foreach $category->children() as $child}} {{$catIds[] = $child->id;}} {{endforeach}}
    {{$where = [['file_submitted>?', $yesterday], ['file_cat IN(' . implode(',', $catIds) . ')']]; }}
    {{$count = \IPS\downloads\File::getItemsWithPermission($where, 'file_submitted DESC', NULL, 'read', \IPS\Content\Hideable::FILTER_AUTOMATIC, 0, NULL, FALSE, FALSE, FALSE, TRUE); }}
    Dodano dzisiaj w {$group['name']}: {$count}<br>
{{endforeach}}

 

 

Lub:

{{$yesterday = \IPS\DateTime::create()->sub(new \DateInterval('P1D'))->getTimestamp(); }}
{{$categoryGroups = [ ['main_id' => 1, 'name' => 'kategorii 1', 'subcats' => FALSE], ['main_id' => 2, 'name' => 'kategoria 2', 'subcats' => FALSE] ]; }}
{{foreach $categoryGroups as $group}}
    {{$category = \IPS\downloads\Category::load($group['main_id']);}}
    {{$catIds = [$category->id];}}
    {{if $group['subcats']}}
        {{foreach $category->children() as $child}} {{$catIds[] = $child->id;}} {{endforeach}}
    {{endif}}
    {{$where = [['file_submitted>?', $yesterday], ['file_cat IN(' . implode(',', $catIds) . ')']]; }}
    {{$count = \IPS\downloads\File::getItemsWithPermission($where, 'file_submitted DESC', NULL, 'read', \IPS\Content\Hideable::FILTER_AUTOMATIC, 0, NULL, FALSE, FALSE, FALSE, TRUE); }}
    Dodano dzisiaj w {$group['name']}: {$count}<br>
{{endforeach}}

 

Tutaj 

'subcats' => FALSE

Zmieniasz na TRUE, jeżeli chcesz aby zliczać subkategorie

Edytowane przez Weak.
  • Dziękuję 1
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.