Für das Hilfeforum benötigst du eigene Zugangsdaten. Der Account deines Blogs ist hier irrelevant.

blogsport.de Forum » Geschmackssache

if then mit smarty

Tags:

  • Thema gestartet vor 13 Jahren
  • 17 Beiträge bislang
  • Letzer Beitrag von herumspringen
  1. herumspringen
    Member

    Hallo,
    also ich wollte versuchen, meine Startseite nicht gleich wie ein Blog aussehen zu lassen, sondern manuell beiträge vorzuheben etc.

    im enfeffekt hätte ich gerne so etwas in der art:

    {if $home}
    hallo das ist ein test
    {/if}
    {else}
    {content}
    {/content}

    das funktioniert aber schon im ansatz, also ohne das else gar nicht. der text wird nicht angezeigt, obwohl auf die selbe art und weise unten die referrer angezeigt werden. Warum?

    Kenne mich leider mit Smarty nicht aus, aber das sollte doch machbar sein, oder?

    viele grüße

    Veröffentlicht am 2006-12-06 00:17:10 #
  2. herumspringen
    Member

    {/else} statt {/content} natürlich

    Veröffentlicht am 2006-12-06 00:18:26 #
  3. wuerde dies heissen das es eine zweite seite gibt? also eine index2 sozusagen? das faend ich auch interessant.....

    Veröffentlicht am 2006-12-06 00:44:36 #
  4. herumspringen
    Member

    naja eigentlich wollte ich halt statt der normalen startseite, wo alle beiträge drauf sind, etwas ausgefeilteres haben

    Veröffentlicht am 2006-12-06 00:55:24 #
  5. achso :) ...

    Veröffentlicht am 2006-12-06 00:56:10 #
  6. lysis
    blogsport.de

    na, es muss heißen:

    {if $is->home}
    hallo das ist ein test
    {else}
    {content}
    {/if}

    Veröffentlicht am 2006-12-06 13:44:25 #
  7. lysis
    blogsport.de

    ich bin jetzt auch etwas verwirrt. experimentierst du mit dem neuen k2 oder noch mit dem alten? im neuen ist die variable $home durch $is->home ersetzt worden und statt {content} steht: {include_php file="./wp-includes/themes/k2/rollingarchive.php"}

    wo ist denn deine testseite?

    Veröffentlicht am 2006-12-06 13:52:16 #
  8. herumspringen
    Member

    ich habs bei monsters.blogsport.de probiert. habs aber wieder raus genommen. nutze equix, nicht k2

    Veröffentlicht am 2006-12-06 15:57:09 #
  9. herumspringen
    Member

    ok in meiner index.html steht jetzt:
    {if $home}
    hallo das ist ein test
    {/if}
    {$content}
    ....

    aber auf der seite ist von "hallo das ist ein test" nichts zu sehen

    Veröffentlicht am 2006-12-06 16:19:52 #
  10. lysis
    blogsport.de

    ich habs bei monsters.blogsport.de probiert. habs aber wieder raus genommen. nutze equix, nicht k2

    ja, equix hat diese ganzen variablen überhaupt nicht, die k2 hat. evtl. gibt es aber doch eine standard-variable, um festzustellen, ob du auf der hauptseite bist. ich schau das heute abend mal nach, hab jetzt leider keine zeit.

    Veröffentlicht am 2006-12-07 15:15:11 #
  11. herumspringen
    Member

    das finde ich aber etwas seltsam, weil unten bei den referrern ja auch mit $home gearbeitet wird. daher habe ich das ja

    Veröffentlicht am 2006-12-07 16:35:07 #
  12. lysis
    blogsport.de

    probier mal:

    {if $homes}

    das müsste gehen.

    kurz zur erklärung. bei den referern steht:

    {capture assign=home}{is_home}{/capture}

    {if $home}

    die erste zeile definiert die variable $home, deswegen funktioniert das. du greifst aber auf die variable weiter oben zu, also bevor sie definiert ist.

    wie ich jetzt rausgekriegt habe, gibt es aber eine variable, die in jedem theme von haus aus definiert ist: $homes. wenn ich das vorher gewusst hätte, hätt' sich die capture-anweisung, die ich irgendwann mal bei den referern reingeschrieben habe, erübrigt.

    Veröffentlicht am 2006-12-08 02:16:50 #
  13. herumspringen
    Member

    super, funktioniert, vielen dank.

    dann hätte ich noch eine frage: gibt es eine möglichkeit, das anzeigen der neuesten beiträge auf eine kategorie einzuschränken? Also dass ich zb. die Möglichkeit hätte (am beispiel monsters), auf der Startseite eine Liste der aktuellen Termine anzuzeigen?

    Veröffentlicht am 2006-12-08 13:27:43 #
  14. lysis
    blogsport.de

    meinst du, die liste der letzten 10 beiträge in der sidebar? mmh, also das ist leider nicht trivial. man müsste ein bisschen rumexperimentieren. nach längerem überlegen könnte ich mir vorstellen, dass sich das k2-asides-skript dazu nutzen ließe:

    {k2asides category=2 maxnum=10}
    {if $asides}
    <li><h2>Termine</h2>
    <ul>
    {foreach from=$asides key=key item=aside}
    <li><a href="{get_permalink id=$aside->ID}" title="{$aside->post_title}">{$aside->post_title|truncate:25:"..."}</a></li>
    {/foreach}
    </ul>
    </li>
    {/if}

    Ich hab das noch nicht ausprobieren können, also wundere dich nicht, wenn es nicht klappt. Die wenigsten Skripte klappen einfach so auf Anhieb. Aber ich denke, das ist der richtige Ansatz.

    PS: Wo "category=2" steht, musst du bei der Zahl die Kategoriennummer für deine Termine eingeben.

    Veröffentlicht am 2006-12-08 15:07:58 #
  15. lysis
    blogsport.de

    Hab's ausprobiert, bei mir klappt's :D

    PS: Das obenstehende Skript hab ich übrigens extra für Equix optimiert, also an dessen HTML-Struktur angepasst, so dass du keine Probleme damit haben solltest.

    Veröffentlicht am 2006-12-08 15:16:57 #
  16. herumspringen
    Member

    ha, klasse!

    dann habe ich nur noch eine frage: gibts die möglichkeit, das auf mehrere kategorien auszuweiten bzw. eine auszuschliessen? Habe ja jetzt die Anzeige für Termine und würde gerne bei "Artikel" alle Beiträge ausser Termine anzeigen.

    vielen dank auf jeden fall

    Veröffentlicht am 2006-12-08 16:49:36 #
  17. herumspringen
    Member

    hab das gerade über kategorieorganisation hinbekommen. gibt es irgendwo so etwas wie eine doku über die ganzen funktionen und variablen?

    Veröffentlicht am 2006-12-09 03:58:26 #

RSS-Feed zu diesem Thread

Antworten

Du musst dich einloggen zum Schreiben.

Für das Hilfeforum benötigst du eigene Zugangsdaten. Der Account deines Blogs ist hier irrelevant.

0.007 - 5 queries