Avatar billede pemo123456 Novice
03. maj 2011 - 12:12 Der er 15 kommentarer og
1 løsning

Nogen, der har erfaring med Shadowbox image gallery samme med PHP og MySQL?

Hej

Jeg er ved at lave en side i PHP, hvor jeg meget gerne vil bruge Shadowbox image gallery, da jeg synes deres layout mv. er lige i skabet. Det er bare ikke helt så lige til, som jeg havde håbet, og desværre er jeg ikke garvet nok til at kunne få tilstrækkelig ud af deres guide lines. Jeg vil derfor høre, om der er nogen, der har erfaring med at bruge Shadowbox sammen med PHP og ikke mindst MySQL, og som derfor kan give en beskrivelse af, hvad der skal til for at få det til at køre. På forhånd tak! :-)

http://shadowbox-js.com
Avatar billede repox Seniormester
03. maj 2011 - 12:16 #1
Det står på deres hjemmeside?
http://shadowbox-js.com/usage.html

Det har jo ikke noget med PHP eller MySQL at gøre...
Avatar billede pemo123456 Novice
03. maj 2011 - 12:51 #2
Hej

Jeg er klar over, at Shadowbox ikke er programmeret i PHP, men jeg vil gerne have det til at køre sammen med min side, der er lavet i PHP og MySQL, så derfor spørger jeg til, om andre har erfaring (måske jeg skulle have oprettet ? i javascript, men for nu er det her).

Jeg har læst deres vejledninger mv. men er desværre ikke garvet nok til at få tilstrækkeligt ud af det.

Så derfor spørger jeg til, om andre har erfaringer, som de kan dele.

Der er lykkedes mig at få det til at køre sammen med PHP og MySQL => http://dominicangolfguide.com/test/, men som du nok kan se, gå overskriften til hvert af de 5 gallerier igen 3 gange, hvilket skyldes, at der er 3 billeder i hvert galleri.

På deres hjemmeside skriver de, at man kan lave et anchor i det script, der ligger i <head>, og så efterfølgende placere det, hvor galleriet skal vises. Og nu er spørgsmålet helt sikkert i forkert kategori, men jeg har desværre ingen idé om, hvordan jeg lægger et sådan ind i det.

<link rel="stylesheet" type="text/css" href="shadowbox.css">
<script type="text/javascript" src="shadowbox.js"></script>
<script type="text/javascript">
Shadowbox.init({
    // let's skip the automatic setup because we don't have any
    // properly configured link elements on the page
    skipSetup: true
});

window.onload = function() {

    // open a welcome message as soon as the window loads
    Shadowbox.open({
        content:    '<div id="welcome-msg">Welcome to my website!</div>',
        player:    "html",
        title:      "Welcome",
        height:    350,
        width:      350
    });

};
</script>
Avatar billede repox Seniormester
03. maj 2011 - 13:36 #3
Du kan se her, hvordan jeg ville løse det?
http://err0r.dk/test/shadowbox/
Kildekode?
http://err0r.dk/test/shadowbox/?s
Avatar billede pemo123456 Novice
03. maj 2011 - 14:13 #4
Hej

Tak for hjælp indtil videre. Stadig meget grøn til dette, så jeg har et par spørgsmål til din kode, som jeg håber du kan hjælpe mig med.

__________________
<?php if(isset($_GET["s"])) { highlight_file(__FILE__); exit; }?>

Jeg går ud fra at ["s"] er en variable. Men hvilken? Hvad skal jeg kæde den op mod?

__________________
$images = glob("images/*");

Her går jeg ud fra, at "images/*" er stien til mappen, hvor billederne til galleriet ligger - vidste ikke, at * kan bruges her.

Jeg går ikke ud fra, at jeg til tilrette i den øvrige kode. Venligst korriger mig, hvis jeg tager fejl her.
Avatar billede repox Seniormester
03. maj 2011 - 14:35 #5
Ignorer den linie med
<?php if(isset($_GET["s"])) { highlight_file(__FILE__); exit; }?>

Det er min måde at tillade dig at se kildekoden på, ved at tilføje ?s til URL'en.

$images = glob("images/*");

Ovenstående er min måde at genskabe det du forsøgte dig med - så vidt jeg kan forstå på dine første indlæg, ligger stien til dine billeder i MySQL? Og du så henter billede-stierne ud gennem det. Det skal du selvfølgelig fortsætte med - det som egentlig var pointen var at du skulle se at det kun var det første galleri link element der indeholdt tekst - resten gør ikke og er derfor ikke synlige.
Avatar billede pemo123456 Novice
03. maj 2011 - 14:54 #6
OK - har lige fået dit forslag til at virke, og det ser super godt ud.

Kan jeg lave stien $images = glob("../jont/gal_images/variabel_mappe/*");

om, således at den i stedet kommer til at bygge på en variabl i stil med det her: $images = glob("../jont/gal_images/$gallerypath/*");

Og sidste spørgsmål, jeg håber du kan og vil hjælpe mig med. Kan jeg lægge hovedparten af din kode ind i en funktion, således at jeg blot kan lave en <?php echo $variable ?> i min <body>, hvor linket skal vises?

Men under alle omstændigheder - tak for hjælp - smid en svar, så er der point på vej.
Avatar billede repox Seniormester
03. maj 2011 - 14:57 #7
Har du prøvet med den konstruktion du selv foreslår? Umiddelbart ville der ikke være noget i vejen med den.

Hvordan vil du have den lagt ind i en funktion? Så funktionen returnerer en lang HTML streng du bare kan echo ud?
Avatar billede pemo123456 Novice
03. maj 2011 - 16:45 #8
Den ser faktist ud til at spise denne => $images = glob("../jont/gal_images/$gallerypath/*"); - normalt synes jeg bare, at $variabel plejer at ændre farve til sort, når den står rigtigt. Her forbliver den rød.

Mht. den anden del, så ja - det jeg gerne vil have, er en samlet funktion med en variable, som jeg "blot" kan kald ved en echo funktion der, hvor jeg gerne vil have den placeret.
Avatar billede repox Seniormester
03. maj 2011 - 16:52 #9
Det med farver må være noget med dit IDE - i mit IDE forbliver farven på en variabel det samme som resten af den streng den er i, hvis ikke den escapes.

Funktion kræver jo bare at du tager det jeg har lavet og smider ind i en funktion hvor du medsender $gallerypath som parameter - det er en temmelig triviel opgave.
Avatar billede pemo123456 Novice
03. maj 2011 - 17:10 #10
Super - stort tak for hjælpen - smid venligst et svar, så er der point på vej.
Avatar billede repox Seniormester
03. maj 2011 - 17:15 #11
Det fik du her....
Avatar billede pemo123456 Novice
03. maj 2011 - 17:53 #12
Super - og igen tak for hjælp.

Jeg må vist i øvrigt til at se mig om efter en god og fyldestgørende bog om PHP og MySQL - hvis ellers det findes. Er stort set lige startet, og har alt for mange huller. Ofte kan jeg finde noget på nettet, men det giver desværre ikke et sammenhængende billede.
Avatar billede repox Seniormester
03. maj 2011 - 18:31 #13
Kig på http://phpartikler.dk - den er lidt out-of-date, men den er stadig meget dækkende på et begynderniveau.
Avatar billede pemo123456 Novice
04. maj 2011 - 16:08 #14
Hej repox

Bliver nød til at forstyrre dig igen.

Er jeg overhovedet i nærheden af at ramme noget, der er korrekt med denne funktion?

function gallery()    {

        $images = glob("../jont/gal_images/$gallerypath/*");
        for($i = 0; $i < count($images); $i++): 
   
   
        if($i == 0):   
            '<a href="$images[$i]" title="Billede nr ($i + 1)" rel="shadowbox[Mit galleri]" alt="Mit galleri">Mit galleri</a>';
       
        else:     
            '<a href="$images[$i]" title="Billede nr ($i + 1)" rel="shadowbox[Mit galleri]" alt="Mit galleri"></a>';
       
        endif;
   
    endfor;



Ovenstående funktion vil jeg så gerne kalde i <body> via echo som her:    <p><?php echo $gallery ?></p>


Dette forsøg melder ingen fejl, når scriptet afvikles, men der er heller ikke noget output.
Avatar billede repox Seniormester
05. maj 2011 - 09:54 #15
Det er også fordi at syntaksen er helt forkert.

$gallerypath skal jo medsendes i funktionen som parameter for at du kan bruge den i funktionen.

f.eks (modificeret så du kan bruge den i andre sammenhæng):
function show_gallery( $gallerypath, $galleryname )
{
    $images = glob("../jont/gal_images/".$gallerypath."/*");
    $html = '';
    for($i = 0; $i < count($images); $i++)
    {
        if($i == 0)
            $html .= '<a href="'.$images[$i].'" title="Billede nr '.($i + 1).'" rel="shadowbox['.$galleryname.']" alt="'.$galleryname.'">Mit galleri</a>';     
        else   
            $html .= '<a href="'.$images[$i].'" title="Billede nr '.($i + 1).'" rel="shadowbox['.$galleryname.']" alt="'.$galleryname.'"></a>';                 
    }
   
    return $html;
}



Når du så skal anvende den, skal det foregå således:
echo show_gallery($sti_til_billeder, $galleri_navn);
Avatar billede pemo123456 Novice
05. maj 2011 - 13:35 #16
Hej repox

Virker super.

Jeg kan vist desværre ikke dele ekstra point ud på denne tråd, men jeg har et andet åbent spørgsmål, hvor du også hjalp til med et brugbart svar, så vis du smider et svar til den, så er der point og et stort tak på vej.

http://www.eksperten.dk/spm/937084#reply_7768350

Mvh PEMO
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester