RSS

zapisz się: RSS Artykuły

szukaj

Adnotacja o kategorii wpisu

Komentarze 2

Folder - katalog - kategoriaBędąc na stronie artykułu standardowo nie ma nigdzie napisane w jakiej kategorii znajduje się wpis. Niby nic takiego, ale czasem chcemy, aby była adnotacja odnośnie kategorii danego wpisu. Dziś pokażę jak dodać taką informację. Bazuje ona na modzie dotyczącym przystępniejszego wyświetlania się infoline.

Modyfikację tą zaproponował Matt Jones. W ulepszonej wersji wyświetlania się infoline należy znaleźć ten fragment:

if ($infoline == true) {
    echo '<div class="post_date">'.$a_date_format.'</div>';

Jeśli chcemy, aby wyświetlała się tylko informacja o kategorii wpisu zmieniamy powyższy kod następująco:

if ($infoline == true) {
    echo '<div class="post_date">'.$r['name'].' - '.$a_date_format.'</div>';

Jeśli chcemy, aby nazwa kategorii była również linkiem do danej kategorii, to zmieniamy kod w ten sposób:

if ($infoline == true) {
    echo '<div class="post_date">'.$link.$uri.'/">'.$r['name'].'</a> - '.$a_date_format.'</div>';

Musimy jeszcze zmodyfikować nieco pobieranie z bazy danych, aby wyświetlała się nazwa danej kategorii. Aby tego dokonać szukamy w górnej części funkcji "articles" następującego fragmentu:

// article or page, id as indentifier
$query_articles = 'SELECT
	a.id AS aid,title,a.seftitle AS asef,text,a.date,
	a.displaytitle,a.displayinfo,a.commentable,a.visible
	FROM  '._PRE.'articles'.' AS a
	WHERE id ='.$_ID.$visible;

i zamieniamy na:

// article or page, id as indentifier
     $query_articles = 'SELECT
     a.id AS aid,title,a.seftitle AS asef,a.category AS acat,a.keywords_meta AS keywords,text,a.date,                   a.displaytitle,a.displayinfo,a.commentable,a.visible, c.name AS name
     FROM  '._PRE.'articles'.' AS a
     LEFT OUTER JOIN '._PRE.'categories'.' as c
     ON category = c.id
     WHERE a.id ='.$_ID.$visible;

Następnie nieco niżej szukamy:

// get the rows for category
	if ($_catID) {
		$query_articles = 'SELECT
		a.id AS aid,title,a.seftitle AS asef,text,a.date,
		a.displaytitle,a.displayinfo,a.commentable,a.visible
		FROM '._PRE.'articles'.' AS a
		WHERE position = 1

i zamieniamy na:

// get the rows for category
            if ($_catID) {
                $query_articles = 'SELECT
                a.id AS aid,title,a.seftitle AS asef,text,a.date,a.keywords_meta AS keywords,
             a.displaytitle,a.displayinfo,a.commentable,a.visible,c.name AS name
                FROM '._PRE.'articles'.' AS a
                LEFT OUTER JOIN '._PRE.'categories'.' as c
                    ON category = c.id
                WHERE position = 1

Całość wysyłamy na serwer. Po tych zabiegach powinny wyświetlać się kategorie we wpisach.

Podziel się

Bookmark and Share

  1. rafal
    rafal napisał(a):

    To zapytanie jest chyba niepotrzebne, bo nie ma w nim kategorii, chyba zostało z innego dodatku

    a.keywords_meta AS keywords

  2. Paweł Landzberg
    Paweł Landzberg napisał(a):

    A być może :) Ja tam się generalnie nie znam :)

Komentowanie zostało zablokowane