Okay..
Nie bardzo z czasem u mnie..
Zastanawiałem się jak wyświetlić w bloku info z jakiegoś działu, tj. ostatnie topy z jakiegoś działu.
na początku, myślałem, że wystarczy utworzenie nowego bloku - ssi, jednak tam jest tylko kilka funkcji z SSI.
Co można w ogóle zrobić?
Wydaje mi się, że najbardziej rozsądkowo, byłoby utworzenie bloku z kanałem rss z wybranego działu.
Oczywiście jest również blok RSS, gdzie tylko wpiszemy linka aktywujemy blok i już.. np.
hmm jesteś w trybie konserwacyjnym.., nie wiadomo po co.., no nic..
Nie pamiętam już to było coć z gotowaniem "board=30", więc chcąc wrzucić to jako kanał rss i np. same tytuły, to:
- tworzymy nowy blok, (w twoim przypadku - prawy), wybieramy RSS, później ustawiamy widoczność, np. strona główna i forum, nadajemy nazwę, np. "Co nowego w gotowaniu", lub: "RSS - Gotowanie", żeby nam się zmieściło w jednej linii, zaptaszamy "pokaż tylko tytuły" i przy dziale o ID=30 wpisujemy taki link:
http://www.smacznie.org.pl/index.php?action=.xml;board=30;type=rssTylko!, że jest problem, ponieważ wbudowany w smf parser RSS, nie wyświetla poprawnie polskiej czcionki i zamiast ęcji mamy krzaki..
Można skorzystać z mojego parsera, gdzie mogę też ustawić ilość i np. żeby były tylko tytuły, wtedy tworzysz nowy blok - script/html zresztą na obu powinno zadziałać i wrzucasz tam pozyskany ode mnie kod, lub jeśli zainstalowałas własny parser, to pobierasz od siebie..
Kolejne rozwiązanie...
- to utworzenie bloku PHP
Tak właśnie zrobiłem u mnie na testowym TP, (ostatni po lewej na dole blok):
http://ricoroco.com/tpnew/index.php?action=forumOkay zróbmy to...
- tworzymy nowy blok - php
- ustawiamy widoczność, np. strona gł. i forum
- nadajemy nazwę, najlepiej na dole zaznaczyć - "pozwól na zwijanie bloków"
I mamy pole textowe do wrzucenia kodu i do niego wrzucimy kod..
Zrobiłem to i pod IE pojawiał śe odstęp pomiędzy sidebarem z blokam a samym forum mniej wiecej 75% szerokości bloku..
Poradziłem sobie z tym napieprzając tam styli, ale jak widać ładnie to wyświetla.
Posłużymy się tu funkcją SSI, która wyświetla ostatnie posty z konkretnego działu,
widać to np. u mnie tu:
http://poligon.ricoroco.com/fora/smf/index.php?action=homepage(po lewej stronie)
Ta funkcja to:
ssi_boardNews();
Składnia jest taka:
// Show the latest news, with a template... by board.function ssi_boardNews
($board = null, $limit = null, $start = null, $length = null, $output_method = 'echo')
{///...} // Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.025s | speed:7.19 KB/s
Czyli przykładowy zapis, w Twoim przypadku, powiedzmy board=30 to:
ssi_boardNews(30, 8, null, 100);
- gdzie pierwsza liczba w nawiasie, to ID działu
- druga liczba to ilośc ostatnich topów
- trzecia liczba zostawiamy na "null"
- czwarta liczba to ilość znaków do wyświetlenia
I u mnie przykładowy wpis wyglądał tak, (w bloku):
Download w TP
[18.02.2009, 23:59:52] Autor: -› Anette
w normalnym downloadzie jest folder downloads wrzucam tam pliki i dodaje tylko link... ;
a jak...
6 komentarze | Napisz komentarz
Więc pokazuje tytuł, datę, autora i te pierwsze 100 znaków, które ustaliłem.
Tj. pokazuje pierwszy, zaczęty post konkretnego topa, ale nie ostatniego posta!, to pod spodem masz : komentarze 6 | napisz komentarz
Ale wiadomo, że w tym topi ktoś właśnie coś napisał..
Oto zmodyfikowany przeze mnie kod gotowy do wklejenia w Twoim przypadku, tj. dział o ID=30 i 8 ostatnich topów:
echo '
<div
class="smalltext" style
="overflow: auto; max-height: 24em; clear: both; width: 160px; display: block; white-space: auto;">';
$what=ssi_boardNews
(30, 8, null, 100); // Output the topics echo '
<ul style
="display: block; padding: 0 2px; margin: 0; width: 99%; white-space: wrap;">';
foreach($what as $mine){ echo '
<li style
="width: 99%; display: block; margin: 0; list-style: none; padding: 0; white-space: wrap;"><a href
="'.$mine['href'].'" style
="vertical-align: middle; font-size: 8pt !important;">'.$mine['subject'].'</a> ';
if(!$mine['new'])
echo '
<a href
="'.$mine['href'].'"><img border
="0" src
="Themes/default/images/english/new.gif" alt
="new" style
="vertical-align: middle;" /></a
>';
echo '
<br
/><span
class="smalltext">', $mine['time'] , '</span> by ' ,$mine['poster']['link'], '<br /></li>';
} echo '
</ul
></div
>'; // Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.029s | speed:33.90 KB/s
Dałem to w diva z overflow: auto i mxymalną wysokością, co powoduje, że blok nie rozciaga się na cała wysokość, tylko ma konkretną wysokośc i pojawia się suwak z boku do przewijania..
Skopiuj ten kod i wklej u siebie w bloku PHP, zapisz i włącz ten blok
Nie bardzo co można zrobić więcej.. i jak dla mnie to najlepszym rozwiazaniem było by RSS z zewnętrznego parsera..
Mam nadzieję, że Ci to pomoże..
Pozdrawiam
roco