WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 17.10.2022 21:26:35

hpzaun
Member

Droplet getNewsItems: keine Annahme bestimmter User definded values

Hallo,
Ich möchte von einem Code2-Modul mit getImageNewsItems auf das Droplet getNewsItems umsteigen.

Das Droplet [[getnewsItems]] funktioniert grundsätzlich (Code siehe unten)
Allerdings werden bestimmte User definded values nicht angenommen.
Ich habe keine Unterschiede in der Anzeige

Test 1 max_news_items=2&sort_by=3&sort_order=1
[[getnewsItems?max_news_items=2&sort_by=3&sort_order=1]]

Test2 max_news_items=2&max_news_length=10&sort_by=3&sort_order=1&display_mode=4
[[getnewsItems?max_news_items=2&max_news_length=10&sort_by=3&sort_order=1&display_mode=4]]

Mache ich etwas falsch?
Schöne Grüße
hpzaun

[== PHP ==]
$options = array(
    'group_id_type' => 'group_id',    // type used by group_id to extract news entries (supported: 'group_id', 'page_id', 'section_id', 'post_id')
    'group_id' => 0,                  // IDs of news to show, matching defined $group_id_type (default:=0, all news, 0..N, or array(2,4,5,N) to limit news to IDs matching $group_id_type)
    'display_mode' => 1,              // 1:=details (default); 2:=list; 3:=coda-slider; 4:flexslider; 4-98 (custom template: display_mode_X.htt); 99:=cheat sheet
    'start_news_item' => 0,           // start showing news from the Nth news item onwards (default:= 0, min:=-999, max:= 999); Note: -1: last item, -2: 2nd last etc.
    'max_news_items' => 10,           // maximum number of news shown (default:= 10, min:=1, max:= 999)
    'max_news_length' => -1,          // maximum length of the short news text shown (default:=-1 => full news length)
    'strip_tags' => true,             // true:=remove tags from short and long text (default:=true); false:=don´t strip tags
    'allowed_tags' => '<p><a><img>',  // tags not striped off (default:='<p><a><img>')
    'custom_placeholder' => false,    // false:= none (default), array('MY_VAR_1' => '%TAG%#', ... 'MY_VAR_N' => '#regex_N#' ...)
    'sort_by' => 1,                   // 1:=position (default), 2:=posted_when, 3:=published_when, 4:=random order, 5:=number of comments
    'sort_order' => 1,                // 1:=descending (default), 2:=ascending
    'is_not_older_than' => 0,         // alias for not_older_than (CKE problem, see issue #78)
    'not_older_than' => 0,            // 0:=disabled (default), 0-999 (only show news `published_when` date <=x days; 12 hours:=0.5)
    'lang_id' => 'AUTO',              // language file to load and lang_id used if $lang_filer = true (default:= auto, examples: AUTO, DE, EN)
    'lang_filter' => false,           // flag to enable language filter (default:= false, show only news from a news page, which language fits $lang_id)
    'skip' => null,                   // filter by tags (blacklist)
    'tags' => null,                   // filter by tags (whitelist)
    'view' => null,                   // use CSS from view (default, faq)
    'aslist' => false                 // only titles (<ul>)
);
// update options with user defined values
foreach($options as $key => $value) {
    // update options with user defined values (will be sanitized later on)
    if ($key == 'group_id') {
        $options[$key] = explode(',', ${$key});
    } else {
        if (in_array($key, array('allowed_tags'))) {
            // deal with fact that Droplets don't yet support urldecode by itself
            ${$key} = str_replace(array('<', '%3C', '>', '%3E'), array('<', '<', '>', '>'), ${$key});
        }
        if (in_array($key, array('strip_tags', 'lang_filter'))) {
            // deal with boolean types ('false', 'true' are both True if converted to Boolean)
            ${$key} = str_replace(array('false', 'true'), array('0', '1'), strtolower(${$key}));
        }
        // strip leading and trailing single and double quotes
        $options[$key] = trim(${$key}, '"\'');
    }
}
$output = mod_nwi_get_news_items($options);
return $output;

Offline

#2 18.10.2022 17:03:26

florian
Administrator

Re: Droplet getNewsItems: keine Annahme bestimmter User definded values

Ich bin jetzt gerade etwas denkfaul. Kannst Du bitte etwas genauer beschreiben, was Du mit "bestimmte User definded values" meinst, also was konkret jetzt nicht funktioniert?

Last edited by florian (18.10.2022 17:03:42)

Offline

#3 20.10.2022 21:57:35

hpzaun
Member

Re: Droplet getNewsItems: keine Annahme bestimmter User definded values

Hallo,
ich habe versucht, mich an die Beschreibungen aus dem Droplet zu halten.

Anders ausgedrückt würde ich sagen:
Im Droplet werden bestimmte Default-Werte für den Aufruf ohne Parameter [[getnewsItems]] festlegt.
Es ist aber möglich, die Default-Werte zu übersteuern oder zur Klarstellung nochmal anzugeben. (User definded values)
[[getnewsItems?max_news_items=2&sort_by=3&sort_order=1]]

Bei mir funktionieren folgende User definded values nicht.
max_news_length=10
display_mode=4

Ist die Erklärung besser verständlicht?
Schönen Abend
hpzaun

Offline

#4 21.10.2022 07:37:31

florian
Administrator

Re: Droplet getNewsItems: keine Annahme bestimmter User definded values

Das Droplet getNewsItems ist, wie der Name schon sagt, für das alte Newsmodul und Anynews.
Um NWI Anywhere über einen Droplet-Aufruf und nicht mehr einen Code2-Abschnitt zu nutzen, lege bitte ein neues Droplet namens getImageNewsItems mit folgendem Inhalt an:

if (! file_exists(WB_PATH . '/modules/news_img_anywhere/droplet/nia_droplet.php')) return;
 include(WB_PATH . '/modules/news_img_anywhere/droplet/nia_droplet.php');
 return $output;

Der Aufruf ist dann z.B.:
[[getImageNewsItems?group_id=1,2&display_mode=4]]

Siehe: https://github.com/WBCE/news_img_anywhe … -a-droplet

Last edited by florian (21.10.2022 07:38:32)

Offline

#5 21.10.2022 21:58:44

hpzaun
Member

Re: Droplet getNewsItems: keine Annahme bestimmter User definded values

Hallo florian,
Danke für deine Hinweise.
Mir waren die Droplet-Unterscheide zwischen alten Newsmodul getNewsItems und News with Images nicht klar.

Nachdem ich das Droplet getImageNewsItems  angelegt hatte, wurde mir angezeigt, dass es das Droplet schon gibt.
Daher konnte ich meine Version wieder löschen.

Wird das getImageNewsItems mit
mit Beschreibung: Droplet accepts the NIA function parameters in any order und
und Kommentare: https://github.com/WBCE/news_img_anywhe … /README.md
durch die Core-Installation ausgeliefert?

Ich hatte zunächst Problem bei der Nutzung, weil im Name des Droplet hinter dem Items noch ein Leerzeichen war.
Daher funktoniert
[[getImageNewsItems?max_news_items=5&sort_by=3&sort_order=1&display_mode=3]]
nicht, sondern
[[getImageNewsItems ?max_news_items=5&sort_by=3&sort_order=1&display_mode=3]]

Auch beim schnellen Copy und Paste von der github-Seite hast du schnell das Leerzeichen hinter getImageNewsItems.
Nach den Entfernen des Leerzeichen in der Droplet-Verwaltung läuft es jetzt gut.

Zusatzfrage:
- Gibt es eine einfache Möglichkeit bei display_mode 1 und 2 über das Droplet das Edit-Datum auszublenden?
  Oder muss ich einen neuen display_mode bauen?

Danke und gute Nacht
hpzaun

Offline

Board footer

up