Блок последних новостей

#1 17 февраля 2011 в 11:00
Есть блок где выводится три материала — заголовок и фото. Выполнен он HTML + CSS + JS.


Картинка отображается той новости, на которую последней была наведена мышь. Но контент приходится добавлять вручную в код. Как можно это дело прикрутить к модулю "Последние материалы"?
Я сделал следующее:
1. Файл mod_latest.tpl
  1. <div class="blok_news">
  2. <div class="blok_news_shapka">
  3. <div class="title_blok_news">
  4. Последние новости
  5. </div>
  6. <a class="blok_news_knopka" title="Все новости" href="/news/">Все новости</a>
  7. </div>
  8. <div id="news" class="events">
  9.  
  10.  
  11. {if $is_con}
  12. {if $cfg.is_pag}{/if}
  13. {if !$is_ajax}<div id="module_ajax_{$module_id}">{/if}
  14. {foreach key=aid item=article from=$articles}
  15. <a id="news_1" title="{$article.comments|spellcount:$LANG.COMMENT1:$LANG.COMMENT2:$LANG.COMMENT10}" href="{$article.href}" style="display: block;">
  16. <img width="179" height="161" alt="{$article.title}" src="/images/photos/small/{$article.image}">
  17. </a>
  18. {/foreach}
  19. {if !$is_ajax}</div>{/if}
  20. {else}
  21. <p>{$LANG.LATEST_NOT_MATERIAL}</p>
  22. {/if}
  23.  
  24.  
  25. {if $is_con}
  26. {if $cfg.is_pag}{/if}
  27. {if !$is_ajax}<div id="module_ajax_{$module_id}">{/if}
  28. {foreach key=aid item=article from=$articles}
  29. <h3>
  30. <a onmouseover="display_news(1)" title="{$article.comments|spellcount:$LANG.COMMENT1:$LANG.COMMENT2:$LANG.COMMENT10}" href="{$article.href}">{$article.title}</a>
  31. </h3>
  32. {/foreach}
  33. {if !$is_ajax}</div>{/if}
  34. {else}
  35. <p>{$LANG.LATEST_NOT_MATERIAL}</p>
  36. {/if}
  37.  
  38. </div>
  39. </div>
2. В template.php добавил следущий код:
  1. function display_news (i){
  2. for (k=1;k<4;k++) document.getElementById('news_'+k).style.display = "none";
  3. document.getElementById('news_'+i).style.display = "block";
  4. }
Но как сделать, чтобы в каждом новом цикле фореча изменялись по возрастающей id="news_1" и onmouseover="display_news(1)" у меня тямы не хватает. Да и как сделать, чтобы первые два цикла ставился style="display: none; а третий цикл style="display: block; тоже не соображу.

А может я и вовсе по неправильному пути пошел… в общем не судите строго, я только учусь. cry

Ниже прикреплен имеющийся рабочий скрипт, от которого я отталкиваюсь.
Прикрепленный файл
block_news_c3a63.zip 55 Кб
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.