malyd77 - jest prosty aczkolwiek nie idealny sposob. Ten idealny wymagalby sporej pracy i dobrej znajomosci naszych narzedzi. Daje wiec prosty sposob: 1. edytuj index.php i znajdz: $p = 'p_'.$config['start_page']; 2. zmien:
$p = 'p_'.$config['start_page'];
na
$p = 'p_'.rand( 1, 5 );
rand( 1, 5 ); to funkcja, ktora zwroci Ci wartosc losowa z zakresu od 1 do 5 czyli albo 1, albo 2, albo 3, albo 4, albo 5. W ten sposob bedziesz mogl wyswietlic losowa strone, ktorej ID z zakresu 1 do 5. Pamietaj bys posiadal wszystkie ID z tego zakresu. Jesli sie okaze, ze nie posiadasz strony o ID 4 a losowo funkcja rand() wybierze ta liczbe to wyskoczy blad. Zakres oczywiscie mozesz sobie zwiekszac.
Wiecej informacji na temat funkcji: http://pl2.php.net/manual/pl/function.rand.php
A czy dałoby się tak modyfikować skrypt, aby jako strona startowa wyświetlała się zawsze strona z największym ID, czyli de facto ostatnio dodana podstrona? Oczywiście bez dodatkowych rozgraniczeń typu pobieranie ID podstron przypisanych tylko do jednego rodzaju menu, bo to byłoby rozwiązanie idealne, ale pewnie znacznie trudniejsze do osiągnięcia :-) Jeśli jest taka możliwość, to proszę o wskazówki typu krok-po-kroku jak to zrobić :-)
@grabek, nie wiem jaką masz wersję q.cms, ale w 3.0 powinno działać: z index.php tę konstrukcję: if(isset($aActions['f'])&&$aActions['f']=='p') $iContent=(isset($aActions['a'])&&is_numeric($aActions['a']))?$aActions['a']:$config['star t_page']; zamień na: if(isset($aActions['f'])&&$aActions['f']=='p'){ $oFF=FlatFiles::getInstance(); $iContent=(isset($aActions['a'])&&is_numeric($aActions['a']))?$aActions['a']:$oFF->thro wLastId(DB_PAGES,'iPage'); }
mój błąd - zapomniałem dodać jakiej wersji q.cms sprawa dotyczy. Mam wersję 3.1 i rozwiązanie, które mi podałeś działa prawidłowo :-) Trzeba co prawda usunąć jedną spację między literką "o" i "w" w frazie "trowLastId", ale to chyba dość oczywiste :-)
drugi pomysł miałem taki, aby jako strona główna była wyświetlana podstrona z najwyższym ID, ale tylko z jednego określonego menu, np. menu 3. Zatem dodaję nową podstronę do menu nr 3 i staje się ona automatycznie nową stroną główną, ale dodam jakąś podstronę do innego menu (np. menu 1) i ona wówczas nie jest wyświetlana jako nowa strona główna, mimo że będzie miała wyższy ID niż inna strona dodana wcześniej do menu nr 3.
Mam nadzieję, że w miarę zrozumiale udało mi się przedstawić ten problem? :-)
dodaj w general.php takie coś: $config['start_menu']=2; (to jest numer menü, z którego będzie pobierane ostatnie ID) teraz w index.php zamień to poprzednie (4 posty wyżej) na: