Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 17. September 2019 08:56

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

[GELÖST] News - showall="1"

Hallo!

Ich habe für diese komplette Woche jeden Tag einen Eintrag gemacht, von denen jeden Tag der entsprechende auf der Startseite ausgegeben wird. Das habe ich für jeden Eintrag mit der Zeitsteuerung festgelegt.
Nun möchte ich auf einer Unterseite schon mal alle Einträge ausgeben. Sollte mit {news showall="1"} ja funktionieren. Leider werden aber nur die Einträge für gestern und heute ausgegeben?

In der News-Modulhilfe steht es aber anders:

Mit diesem Parameter können alle Artikel (unabhängig von der festgelegten Anzeigedauer) angezeigt werden (showall='1')

Vielen Dank!

Beitrag geändert von brandy (17. September 2019 08:57)

Offline

#2 17. September 2019 21:40

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] News - showall="1"

Gibt es eine Möglichkeit alle Newsbeiträge anzuzeigen, unabhängig von der Zeitsteuerung?

Offline

#3 18. September 2019 10:24

COR9
Server-Pate
Ort: Dresden
Registriert: 09. November 2010
Beiträge: 281

Re: [GELÖST] News - showall="1"

Ich habe eine Musiksite laufen, die viele Newsartikel auf verschiedenen Seiten unterschiedlich gefiltert listet inkl. einer Archivseite für abgelaufene Artikel.
Habe auf einer Testseite showall probiert und es funktioniert wie es soll.
Hast Du noch andere Anzeige-Filter laufen, die vielleicht (undokumentiert) mit showall nicht gehen? Ggf. spielt auch summary vs. detail eine Rolle. Mein funktionierender Testruf (Ich verwende nirgends Detailanzeigen!) sieht z.B. so aus:

[== Smarty ==]
{news category="konzerte,jakobi" sortby="end_time" sortasc="true" showall='1'}

(PHP 5.6.40, https, Core 1.12.2, News 2.15.2 ohne module_custom)

Offline

#4 18. September 2019 10:32

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] News - showall="1"

Das wäre mein Code:

Gibt er bei dir dann auch zukünftige News aus?
Um das würde es nämlich gehen.

Offline

#5 18. September 2019 10:57

COR9
Server-Pate
Ort: Dresden
Registriert: 09. November 2010
Beiträge: 281

Re: [GELÖST] News - showall="1"

Habe alle Filter rausgenommen, pures showall funktioniert auch:

Offline

#6 18. September 2019 14:02

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] News - showall="1"

Hab jetzt mal probiert, ob es daran liegt, dass das Erstellungsdatum in der Zukunft liegt.
Also das ist es nicht!

Das Template hab ich auch nur geringfügig geändert:

{foreach from=$items item=entry}
<div class="NewsSummary">

{if $entry->postdate}
	<div class="NewsSummaryPostdate">
		{$entry->postdate|cms_date_format}
	</div>
{/if}

<!--<div class="NewsSummaryLink">
<a href="{$entry->moreurl}" title="{$entry->title|cms_escape:htmlall}">{$entry->title|cms_escape}</a>
</div>-->

<div class="NewsSummaryLink">
{$entry->title|cms_escape}
</div>

{if $entry->summary}
	<div class="NewsSummarySummary">
		{$entry->summary}
	</div>

	<div class="NewsSummaryMorelink">
		[{$entry->morelink}]
	</div>

{else if $entry->content}

	<!--<div class="NewsSummaryContent">
		{$entry->content}
	</div>-->
{/if}

{if isset($entry->extra)}
    <div class="NewsSummaryExtra">
        {$entry->extra}
	{* {cms_module module='Uploads' mode='simpleurl' upload_id=$entry->extravalue} *}
    </div>
{/if}
{if isset($entry->fields)}
  {foreach from=$entry->fields item='field'}
     <div class="NewsSummaryField">
        {if $field->type == 'file'}
          <img src="{$entry->file_location}/{$field->displayvalue}"/>
        {else}
          € {$field->displayvalue}
        {/if}
     </div>
  {/foreach}
{/if}

</div>
<hr/>
{/foreach}
<!-- End News Display Template -->

Fehlt hier was?

Beitrag geändert von brandy (18. September 2019 14:03)

Offline

#7 22. September 2019 14:26

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] News - showall="1"

Kannst du mir mal dein Template zeigen?

Offline

#8 23. September 2019 22:55

COR9
Server-Pate
Ort: Dresden
Registriert: 09. November 2010
Beiträge: 281

Re: [GELÖST] News - showall="1"

Na klar, ist schon paar Jahre alt und es sind mehrere einzeln abgerufene Extra-Felder, insgesamt bissl bloody, das Ganze. Es handelt sich um das Standard-Zusammenfassungstemplate:

[== Smarty ==]
{foreach from=$items item=entry}
  <article class="ym-column linearize-level-1" id="{$entry->id}">
    <div class="ym-col1">
      <div class="ym-cbox-left ym-clearfix">
        <h2>{if $page_alias == 'home' and $entry->category == 'konzerte' or $entry->category == 'jakobi'}<span style="color:#910e14">Unser nächstes Konzert:</span>{/if}{$entry->title|cms_escape:htmlall}</h2>
        <div class="jquery_tabs">
          <p class="kal">{$entry->fields.Veranstaltungsdatum->value}</p>
          <p class="ort">{$entry->fields.Lokal->value}</p>
          {if isset($entry->fields.Beteiligte->value)}
          <h4><i class="fa fa-users fa-lg" aria-hidden="true"></i></h4>
          <div class="tabbody">{$entry->fields.Beteiligte->value}</div>
          {/if}
          {if isset($entry->fields.Dokumente->value)}
          <h4><i class="fa fa-file fa-lg" aria-hidden="true"></i></h4>
          <div class="tabbody">{$entry->fields.Dokumente->value}</div>
          {/if}
          {if isset($entry->fields.Galerie->value)}
          <h4><i class="fa fa-picture-o fa-lg" aria-hidden="true"></i></h4>
          <div class="tabbody">{eval $entry->fields.Galerie->value}</div>
          {/if}
          {if isset($entry->fields.Ticket->value)}
          <h4><i class="fa fa-ticket fa-lg" aria-hidden="true"></i></h4>
          <div class="tabbody">{$entry->fields.Ticket->value}</div>
          {/if}
          {if isset($entry->fields.Facebook->value)}
          <h4><i class="fa fa-facebook-official fa-lg" aria-hidden="true"></i></h4>
          <div class="tabbody">{$entry->fields.Facebook->value}</div>
          {/if}
          {if isset($entry->fields.Infofeld->value)}
          <h4><i class="fa fa fa-info-circle fa-lg" aria-hidden="true"></i></h4>
          <div class="tabbody">{eval $entry->fields.Infofeld->value|mailsecure}</div>
          {/if}
        </div>
      </div>
    </div>
    <div class="ym-col3">
     <div class="ym-cbox-right ym-clearfix">
       <h2>{if $entry->category == 'konzerte' and $page_alias == 'home'}<span style="color:#910e14">Unser nächstes Konzert:</span>{/if} {$entry->title|cms_escape:htmlall}</h2>
       <div class="werke">{eval $entry->content|mailsecure}</div>
     </div>
     <div class="ym-ie-clearing">&nbsp;</div>
   </div>
</article>
{/foreach}

Offline

#9 23. September 2019 05:39

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] News - showall="1"

Ok, da ist auch nichts drinnen, was jetzt irgendwie dafür verantwortlich sein könnte!

Ich hab grad nochwas probiert:
Wenn alle zeitlich abgelaufen sind, zeigt mir showall="1" auch alles an.
Jetzt habe ich wieder die aktuellen Beiträge eingefügt und es wir wieder nur heute angezeigt!

Hier der Screenshot meiner News, die ich eingegeben habe:
CMSMS Newsbeiträge


Und hier die Ausgabe mit {news showall="1"}:
https://www.fleischerei-hoefler.at/mittagsmenue-cmsms

Beitrag geändert von brandy (23. September 2019 05:58)

Offline

#10 23. September 2019 10:05

COR9
Server-Pate
Ort: Dresden
Registriert: 09. November 2010
Beiträge: 281

Re: [GELÖST] News - showall="1"

Wie rufst Du das Menü unter https://www.fleischerei-hoefler.at/mittagsmenue? Da sehe ich alle Einträge dieser Woche.
BTW: In Zeile 110 des Gesamtmarkups ist ein </div> zu viel drin.

Beitrag geändert von COR9 (23. September 2019 10:05)

Offline

#11 23. September 2019 10:19

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] News - showall="1"

Dies ist einfach Text und soll dann durch den {news showall}-Tag ersetzt werden!

Danke - div entfernt :-)

Beitrag geändert von brandy (23. September 2019 10:24)

Offline

#12 25. September 2019 09:52

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] News - showall="1"

brandy schrieb:

Und hier die Ausgabe mit {news showall="1"}:
https://www.fleischerei-hoefler.at/mittagsmenue-cmsms

Wie ihr seht ist hier die Ausgabe nur bist heute, obwohl noch Einträge für morgen und übermorgen angelegt sind!

Offline

#13 30. September 2019 06:42

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] News - showall="1"

Ich habe gerade noch etwas probiert:
Ich habe das Erstellungsdatum aller Einträge auf denselben Tag gelegt um herauszufinden, ob es damit zu tun hat. Aber er macht es trotzdem nicht. Dass heißt er zeigt sie sehrwohl nur nach eingestellter Anzeigedauer an - auch mit showall='1'.

Offline

#14 06. Oktober 2019 20:21

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] News - showall="1"

Keiner, der das Problem nachstellen kann?

Offline

#15 04. November 2019 10:16

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] News - showall="1"

Ich hab jetzt insgesamt 7 News offfen, die bis Ende der Woche laufen. Also für jeden Tag ein Eintrag.
Mit {news showall='1'} kommt die gleiche Ausgabe wie mit {news} -> Link

Hat wer eine Ahnung wo hier das Problem liegen könnte?

Beitrag geändert von brandy (04. November 2019 10:16)

Offline

#16 12. November 2019 23:56

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.435

Re: [GELÖST] News - showall="1"

Erinnerst Du Dich? wink
Klenkes hat da leider immer noch recht. neutral
Artikel, deren Veröffentlichungsdatum erst in der Zukunft liegt, werden beim News-Modul leider nicht berücksichtigt. Auch nicht mit "showall=1".
Es sei denn, Du änderst in der Datei "/modules/News/action.default.php" die Zeilen 113 bis 115:

  $now = $db->DbTimeStamp(time());
  $query1 .= "(".$db->IfNull('start_time',$db->DBTimeStamp(1))." < ".$now.") ";
  $query2 .= "(".$db->IfNull('start_time',$db->DBTimeStamp(1))." < ".$now.") ";

in:

  $now = $db->DbTimeStamp(time());
  if( !isset($params['showall']) || $params['showall'] == 0 ) {
	  $query1 .= "(".$db->IfNull('start_time',$db->DBTimeStamp(1))." < ".$now.") ";
	  $query2 .= "(".$db->IfNull('start_time',$db->DBTimeStamp(1))." < ".$now.") ";
  }

Dann wird das Veröffentlichungsdatum nur dann berücksichtigt, wenn der parameter "showall" nicht angegeben ist.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#17 12. November 2019 09:19

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] News - showall="1"

Ok, nachdem ich den Code eingesetzt habe, würde das bedeuten, dass wenn ich showall="1" mitgebe nur die aktuellen News ausgegeben werden. Wenn ich nur {news} nutze sollte er alles ignorieren und mir alle ausgeben, unabhängig von ihrem Endzeitpunkt.

Offline

#18 12. November 2019 13:05

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.435

Re: [GELÖST] News - showall="1"

Nee, genau umgekehrt.
Nur wenn showall NICHT angegeben wird, wird das Startdatum berücksichtigt.
(Also so wie es bisher immer schon war)

Sobald showall verwendet wird, wird das Startdatum ignoriert und es dürften wirklich alle Beiträge angezeigt werden, egal wann das Startdatum ist.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#19 12. November 2019 15:27

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] News - showall="1"

Ok, hab jetzt auf meiner Seite das hier eingebaut:

Das Ergebnis ist das hier:
Link

Offline

#20 13. November 2019 19:35

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.435

Re: [GELÖST] News - showall="1"

Hm, die Änderung reicht nicht aus.
Das ist weil dieser Query einfach nicht "modular" aufgebaut ist.
Der geht immer davon aus, dass nach dem "AND" noch was kommt  roll
Und wenn Du showall=1 verwendest, dann steht da am Ende einfach nur "SELECT ... WHERE ... AND"
Und dann käme normalerweise das Startdatum.
Aber das fehlt ja, wenn Du diese Änderung einfügst.
Folglich unvollständiger Query.
Kann die Datenbank natürlich nichts mit anfangen.
D.h. der Entwickler hatte offenbar nie vorgesehen dass man sich alle Artikel unabhängig vom Startdatum ausgeben lassen kann.

Also noch folgende Änderungen...

Zeile 52 und 55, da muss bei beiden queries das "AND" einfach weg:

           WHERE
                status = 'published'
            AND
        ";

Ändern in:

Dafür dann in den Zeilen 77 und 78 das "AND" am Ende nach vorne setzen

      $query1 .= ' (mn.news_id IN ('.implode(',',$idlist).')) AND ';
      $query2 .= ' (mn.news_id IN ('.implode(',',$idlist).')) AND ';

ändern in:

      $query1 .= ' AND (mn.news_id IN ('.implode(',',$idlist).'))';
      $query2 .= ' AND (mn.news_id IN ('.implode(',',$idlist).'))';

Dasselbe dann in Zeile 83 und 84

    $query1 .= " ( mnc.news_category_id = '".(int)$params['category_id']."' ) AND ";
    $query2 .= " ( mnc.news_category_id = '".(int)$params['category_id']."' ) AND ";

ändern in:

    $query1 .= " AND ( mnc.news_category_id = '".(int)$params['category_id']."' )";
    $query2 .= " AND ( mnc.news_category_id = '".(int)$params['category_id']."' )";

in Zeile 109 und 110 das "AND" wieder löschen:

    $query1 .= ") AND ";
    $query2 .= ") AND ";

ändern in:

    $query1 .= ")";
    $query2 .= ")";

Und Zeile 114 und 115

    $query1 .= "(".$db->IfNull('start_time',$db->DBTimeStamp(1))." < ".$now.") ";
    $query2 .= "(".$db->IfNull('start_time',$db->DBTimeStamp(1))." < ".$now.") ";

ändern in:

  if( !isset($params['showall']) || $params['showall'] == 0 ) {
	  $query1 .= " AND (".$db->IfNull('start_time',$db->DBTimeStamp(1))." < ".$now.") ";
	  $query2 .= " AND (".$db->IfNull('start_time',$db->DBTimeStamp(1))." < ".$now.") ";
  }

Das sollte es dann gewesen sein.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#21 16. November 2019 22:05

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 799
Webseite

Re: [GELÖST] News - showall="1"

Vielen Dank!

Funktioniert jetzt bestens:
Link

Offline