So, hier nun mein Vorschlag um die Sortierung nach dem Freigabedatum zu ermöglichen:
In der Datei com_content/helpers/query.php die function orderbySecondary() wie folgt ändern:
PHP-Code:
function orderbySecondary($orderby)
{
switch ($orderby)
{
case 'date' :
$orderby = 'a.created';
break;
case 'rdate' :
$orderby = 'a.created DESC';
break;
case 'alpha' :
$orderby = 'a.title';
break;
case 'ralpha' :
$orderby = 'a.title DESC';
break;
case 'hits' :
$orderby = 'a.hits DESC';
break;
case 'rhits' :
$orderby = 'a.hits';
break;
case 'order' :
$orderby = 'a.ordering';
break;
case 'author' :
$orderby = 'a.created_by_alias, u.name';
break;
case 'rauthor' :
$orderby = 'a.created_by_alias DESC, u.name DESC';
break;
case 'front' :
$orderby = 'f.ordering';
break;
// Ab hier neu
case 'modified' :
$orderby = 'CASE WHEN a.modified=0 THEN a.created ELSE a.modified END';
break;
case 'rmodified' :
$orderby = 'CASE WHEN a.modified=0 THEN a.created ELSE a.modified END DESC';
break;
case 'published' :
$orderby = 'a.publish_up, a.created';
break;
case 'rpublished' :
$orderby = 'a.publish_up DESC, a.created DESC';
break;
// Bis hier neu
default :
$orderby = 'a.ordering';
break;
}
Die ersten beiden 'case' Anweisungen sind für eine Sortierung nach Änderungsdatum (hatte ich noch von einer anderen Anfrage drin).
Um es nun auch im Backend einstellen zu können, muß in der Datei \components\com_content\views\section\tmpl\blog.xm l folgendes geändert werden (ab Zeile 37):
Code:
<param name="orderby_sec" type="list" default="" label="Primary Order" description="PARAMORDERBYSEC">
<option value="">Default</option>
<option value="date">Oldest first</option>
<option value="rdate">Most recent first</option>
<option value="alpha">Title Alphabetical</option>
<option value="ralpha">Title Reverse-Alphabetical</option>
<option value="author">Author Alphabetical</option>
<option value="rauthor">Author Reverse-Alphabetical</option>
<option value="hits">Most Hits</option>
<option value="rhits">Least Hits</option>
<option value="order">Ordering</option>
<option value="modified">Modified - Oldest First</option>
<option value="rmodified">Modified - Newest First</option>
<option value="published">Published - Oldest First</option>
<option value="rpublished">Published - Newest First</option>
</param>
Die letzten 4 Zeilen mit '<option ...> sind neu.
Und wie immer, keine Garantie, immer nur auf Kopien der Dateien arbeiten, dann kann man sie leichter wieder zurücksetzen. Und bei zukünftigen Updates aufpassen ob die Dateien überschrieben werden (Dann muß man es halt wieder nachziehen).
Lesezeichen