PDA

Zobacz pełną wersję : Vinaora Niece Slideshow - linkowanie zdjęcia.



kuba098
03-03-2013, 13:22
Witam wszystkich,
Mam problem z modyfikacją modułu wymienionego w tytule. Chodzi konkretnie o dodawanie linku do zdjęcia. Jest taka możliwość normalnie w panelu, tylko zamiast zwykłego linku w opisie obrazka, linkowane jest zdjęcie.

Jak zmienić działanie tego modułu, żeby po wpisaniu linków do slide'ów w zapleczu modułu pokazywał się zwykły link. Niechcę, żeby linkiem był obrazek slide'u.

Mogę go niby wpisywać w opisie, ale musiałbym wtedy opis nie potrzebnie zasypywać html'em i css. A gdyby działało tak jak napisałem wyżej, to wystarczyłoby wpisać link w zapleczu, a ten sam by się pokazywał w odpowiednim miejscu otoczony odpowiednimi stylami ;)

Poradziłem sobie z modyfikacją tytułu i opisu slide'u, ale za ten link nie wiem jak się zabrać...

P.S W pliku helper.php znalazłem fragment:

$item = "<img src=\"$path\" alt=\"$title\" title=\"$title\" id=\"wows6_$i\" />";
$item = (!empty($link)) ? "<a href=\"$link\" target=\"$target\">" . $item . "</a>" : $item;
$item = "<li>$item$desc</li>";
Nie stety nie wiem jak wyciągnąć stąd zmienną $link w inne miejsce :/

@EDIT
Jednak w zapleczu w pole z opisem czy tytułem nie można dodawać kodu HTML :/ Zwyczajnie się nie zapisuje :( Teraz to już nie mam żadnego pomysłu na ten problem :/

kuba098
03-03-2013, 17:20
Hej, po części rozwiązałem swój problem. Brakuje mi jednak czegoś ważnego. Zmodyfikowałem powyższy kod. Dodałem zmienną $more a następnie ją wywołałem.


public static function getSlider($params, $separator = "\n"){
$slider = array('images'=>'', 'bullets'=>'');

$item_dir = $params->get('item_dir');

$links = $params->get('item_url');
$links = str_replace("|", "\r\n", $links);

$target = $params->get('item_target');

$titles = $params->get('item_title');
$titles = str_replace("|", "\r\n", $titles);

$descriptions = $params->get('item_description');
$descriptions = str_replace("|", "\r\n", $descriptions);

// Get all images
$items = self::getItems($params);

if (empty($items) || !count($items)){
return '';
}

foreach($items as $i=>$path){
$i++;

$link = self::getParam($links, $i, $separator);
$link = trim($link);
$link = htmlspecialchars($link, ENT_QUOTES);

$title = self::getParam($titles, $i, $separator);
$title = trim($title);
$title = htmlspecialchars($title, ENT_QUOTES);

$desc = self::getParam($descriptions, $i, $separator);
$desc = trim($desc);
$desc = htmlspecialchars($desc, ENT_QUOTES);

$item = "<img src=\"$path\" alt=\"$title\" title=\"$title\" id=\"wows6_$i\" />";
$item = (!empty($link)) ? "<a href=\"$link\" target=\"$target\">" . $item . "</a>" : $item;
$item = "<li>$item$desc</li>";

$more = "<a href=\"$link\"><img src=\"images/more.png\"/></a>";
echo $more;

$slider['images'] .= $item;

$item = "<a href=\"#\" title=\"$title\">";
if (!empty($thumb)){
$item .= "<img src=\"$thumb\" alt=\"$title\"/>";
}

$item .= $i."</a>";

$slider['bullets'] .= $item;


}

return $slider;
}

Niby przycisk jest, ale nie jeden :/ Pokazuje się przycisk z właściwym linkiem, tylko, że zamiast jeden właściwy do każdego slid'u to odrazu wszystkie na stałe.
Jaki warunek wprowadzić, żeby na każdym slide'dzie pokazywał się jeden odpowiedni przycisk, a nie wszystkie na raz ??

kuba098
03-03-2013, 18:23
Panowie programiści ! pomocy :(
Taki warunek to jedyne co potrafiłem sklecić..


if($title==1)
echo $more;
else
echo "bład";

I znów trochę działa, trochę nie, bo w slidzie o tytule 1 wyświetla się przycisk, a na miejscu pozostałych napis "blad". Tylko, że gdy zmienia się slide, to sie wygląd nie odświeża. To znaczy oczekiwałem, że na innych slide'ach będą się wyświetlać same napisy "blad" :(
Jak to rozwiązać :(