potrzebuje na kazdej podstronie (temacie) odwolac sie do roznych skryptow. Niestety skrypt ten ma byc wyswietlany w naglowku zeby to zrobic pomyslalem ze mozna uzyc zmiennej ktora bedzie = numerowi tematu. wtedy bede mogl uzyc czegos takiego
<script type="text/javascript" src="[odwolanie do zmiennej]logo.js"></script>
i jezeli wartosc [odwolanie do zmiennej] jest wartoscia liczbowa to moge wgrac kilka plikow np. 1logo.js 2logo.js 5logo.js 12logo.js
cos podobnego jest juz zrobione dla <title> z tym ze tam podstawiany jest tytul strony a to troche za dlugie jak na nazwe pliku
Zmienna, która przechowuje informację o tym jaki temat przypisany jest do strony nazywa się $sTheme, z tym, że ta zmienna nie przechowuje numeru tematu, tylko konkretną nazwę pliku z tematem, więc chyba na nic Ci się to zda. Myślę natomiast, że w Twoim pomyślę pomocna może okazać się zmienna $iContent, która przechowuje ID strony i dla każdej strony/podstrony ten numer jest charakterystyczny.
gariz
2008-07-15 14:32
super wlasnie o to mi chodzilo!!!! (nieprecyzyjnie sie chyba wyrazilem)
gariz
2008-07-16 00:32
a jak nazywa sie zmienna ktora odpowiada za nazwe tematu czyli kolumna po prawej od kolumny ID
Wszystko działa jak powinno ale na każdej stronie gdzie użyłem szablonu pages_gwiazdki.tpl wyświetla się ocena strony 8.
Wstawiłem więc zamiast 8 zmienną $iContent, skrypt wyświetla się prawidłowo. Po kliknięciu na ocenę aktualizuje wartość bez odświeżania strony ale gdy ręcznie odświeżymy ocena wynosi 0 tak jakby nikt wcześniej nie zagłosował.
Jestem zielony jeśli chodzi o PHP, udało mi się stworzyć tabelę dla tego skryptu i poprawnie go zainstalować, ogarniam podstawowe sprawy ale tutaj próbowałem już wszystkiego.
Jestem pewny że coś źle robię ponieważ gdy wpiszę ID strony ręcznie to wszystko działa poprawnie.
Gdybym chciał działać tą metodą to musiał bym dla każdej podstrony gdzie chcę mieć 'gwiazdki' tworzyć plik pages_xx.tpl co jest dość czasochłonne i bardzo niewygodne przy dużej ilości podstron.
Dodam jeszcze że gdy używam zmiennej $iContent w miejscu ID w tym skrypcie, to po najechaniu na gwizdke w pasku wyświetla się link w którym widać że skrypt poprawnie odebrał wartość ID, na każdej podstronie prawidłowo pobiera wartość tzn. numer tematu.
Chciałem dodać że chętnie pomogę każdemu w instalacji tego darmowego skryptu, tylko trzeba by rozwiązać problem o którym pisałem wyżej bo w innym wypadku jest bezużyteczny.
Plik odpowiedzialny za wyświetlanie i dodawanie głosów wygląda następująco:
<?php function rating_bar($id,$units='',$static='') {
require('_config-rating.php'); // połączenie z bazą
//ustawiamy zeminne $ip = $_SERVER['REMOTE_ADDR']; if (!$units) {$units = 10;} if (!$static) {$static = FALSE;}
// pobieramy wartości dla bieżącego ID $query=mysql_query("SELECT total_votes, total_value, used_ips FROM $rating_dbname.$rating_tableName WHERE id='$id' ")or die(" Error: ".mysql_error());
// wstawiamy id w baze jeśli jeszcze go tam nie ma if (mysql_num_rows($query) == 0) { $sql = "INSERT INTO $rating_dbname.$rating_tableName (`id`,`total_votes`, `total_value`, `used_ips`) VALUES ('$id', '0', '0', '')"; $result = mysql_query($sql); }
$numbers=mysql_fetch_assoc($query);
if ($numbers['total_votes'] < 1) { $count = 0; } else { $count=$numbers['total_votes']; // Ile jest głosów oddanych } $current_rating=$numbers['total_value']; //łączna liczba ocen //ustawiamy polskie nazewnictwo if($count==1) $tense="głos"; else if($count>1&&$count<5) $tense="głosy"; else $tense="głosów";
// określamy czy użytkownik głosował $voted=mysql_num_rows(mysql_query("SELECT used_ips FROM $rating_dbname.$rating_tableName WHERE used_ips LIKE '%".$ip."%' AND id='".$id."' "));
for ($ncount = 1; $ncount <= $units; $ncount++) { // loop from 1 to the number of units if(!$voted) { // if the user hasn't yet voted, draw the voting stars $rater.='<li><a href="db.php?j='.$ncount.'&q='.$id.'&t='.$ip.'&c='.$units.'" title="'.$ncount.' out of '.$units.'" class="r'.$ncount.'-unit rater" rel="nofollow">'.$ncount.'</a></li>'; } } $ncount=0; // resets the count
Może w tym pliku odwołać się do zmiennej $iContent ?
Próbowałem podmieniać $id na $iContent ale zapewne to nie o to chodzi, nie mogę się połapać w tym.
Troszkę pospamowałem, liczę na waszą pomoc, przymierzam się do kupna cms.ext ale dopóki nie rozwiąże problemów z takimi gwiazdkami i innymi gadżetami niedostępnymi w płatnej wersji a tym bardziej w darmowej.