Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Klon demotywatory - Facebook Share
Forum PHP.pl > Forum > Przedszkole
aroox
Witam!
Jestem w posiadaniu skryptu - klonu demotywatorów, niestety brakuje mi jednego - przycisku ''udostępnij'' na facebooku, proszę o pomoc ponieważ nie wiem jak go zrobic przy każdym dodamym obrazku. Wiem ze podałem malo informacji, ale moze ktoś wie jak zrobic taki przycisk. Jezeli by to komuś pomogło, oto link do portalu:
http://www.suchary.ct8.pl

no i jeszcze najważniejsze linijki z pliku index:

Kod
<?php
echo "<a href=\"{$dir}view/{$post['Post']['id']}/{$urltitle}\"><img src=\"{$dir}{$post['Post']['img']}\" alt=\"{$post['Post']['title']}\n\n\n{$post['Post']['body']}\" /></a>";
?>

<div class="fb_share">
<a name="fb_share" type="button_count" share_url="http://'.$conf->host().'/obrazek.php?'.$img['id'].'" href="http://www.facebook.com/sharer.php" share_url="http://'.$conf->host().'/obrazek.php?'.$img['id'].'">Share</a>
<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>

Chodzi mi o to, jak przerobić ten kod z fb_share, tak aby działał, bo na razie wyskakuje mi tylko komunikat:
Kod
"[url=""]http://invalid.invalid/obrazek.php?%27.%24img[%27id%27][/url]"
usb2.0
https://developers.facebook.com/
aroox
Usb2.0, No wiesz, albo ja jestem jakiś inny, albo nie wiem, ale odwiedzałem ta stronę z tysiąc razy i nic mi nie pomogła.
usb2.0
https://developers.facebook.com/docs/reference/plugins/like/

Cytat
The Like button lets a user share your content with friends on Facebook. When the user clicks the Like button on your site, a story appears in the user's friends' News Feed with a link back to your website.
aroox
No tak, widzę, ale z tego co wywnioskowałem to będzie wtedy odnośnik do mojej strony głównej, a mi chodzi o to zeby to bylo pod każdym obrazkiem, tzn zeby każdy obrazek tam sie znajdujący można bylo udostępnić, ale nie samą stronę główną tylko ten obrazek pod ktorym wcisne ''udostępnij'' bo tak jak juz pisalem, na tej stronie bylem z tysiąc razy, az taki tępy nie jestem.
!*!
To chyba oczywiste że dodajesz div z adresem do obrazka.
usb2.0
no ***** to pod każdym obrazkiem dajesz konkretny link, generować linki możesz nie wiem na podstawie sluga
aroox
No tak, tak, ja was wszystkich rozumiem, ale chodzi o to że chciałbym aby po dodaniu przez użytkownika obrazka automatycznie pod nim wyskakiwał ten przycisk "udostępnij" ale do udostępnienia tylko tego jednego obrazka na który naciśnie, a nie całej strony, jestem zielony w php, a chciałbym żeby to tak działało, znalazłem skrypt podobny do mojego, ale darmowy na:
Klocuś - TenTego
i również w supporcie znalazłem to:
Kod
<div class="fb_share">
<a name="fb_share" type="button_count" share_url="http://'.$conf->host().'/obrazek.php?'.$img['id'].'" href="http://www.facebook.com/sharer.php" share_url="http://'.$conf->host().'/obrazek.php?'.$img['id'].'">Share</a>
<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>

a oryginał index.php brzmi tak:
Kod
<?php
    $obj->tabela("shity", "1");
    $obj->getName('page');
    $obj->ileNaStrone($conf->pobierz('img_na_strone'));
    $query = $obj->pobierz();
    
    $img_name = 'obrazek';
    $flash_name = 'film';
    if(mysql_num_rows($query)) {
        while($img = mysql_fetch_array($query)) {
            if($img['type'] == $img_name) {
                if($conf->pobierz('img_title')) echo'<div class="img_title"><a href="obrazek.php?'.$img['id'].'">'.$img['title'].'</a></div>';
                echo'<div class="shit">
                <a href="obrazek.php?'.$img['id'].'"><img src="'.$img['img'].'" alt="'.$img['title'].'" /></a>


No i zasadniczo chodzi mi tylko o to, jak przerobić ten kod na lajk, żeby działał u mnie, u mnie index (kod na zdjęcie) wygląda tak:
Kod
<?php
    echo "<a href=\"{$dir}view/{$post['Post']['id']}/{$urltitle}\"><img src=\"{$dir}{$post['Post']['img']}\" alt=\"{$post['Post']['title']}\n\n\n{$post['Post']['body']}\" /></a>";
    ?>


No i właśnie po raz kolejny proszę, aby ktoś mi napisał jak przerobić ten kod, aby działał u mnie ponieważ ja z php jestem kompletnie zielony i nie rozumiem nic a nic, z góry przepraszam za kłopot.
!*!
Pomyśl trochę. W tym FB czymś wklejasz dane które masz w html, od linku i/lub adresu do obrazka.

  1. {$dir}{$post['Post']['img']}
  2. //
  3. {$dir}view/{$post['Post']['id']}/{$urltitle}\
aroox
no tak, ale w dalszym ciągu nie wiem jakby miał wyglądać cały kod, może mi go napiszesz? wiem, wiem to nawet kompletny debil by już połapał, ale ja naprawdę słabo kojarzę te kody
!*!
Nie dajemy gotowców. To (widzisz tu adres do obrazu?):
  1. <div class="fb_share">
  2. <a name="fb_share" type="button_count" share_url="http://'.$conf->host().'/obrazek.php?'.$img['id'].'" href="http://www.facebook.com/sharer.php" share_url="http://'.$conf->host().'/obrazek.php?'.$img['id'].'">Share</a>
  3. <script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>


łączysz z tym (podmień do z tym wyżej, są to Twoje adresy):

  1. {$dir}{$post['Post']['img']}
  2. //
  3. {$dir}view/{$post['Post']['id']}/{$urltitle}\


I umieść w echo.

  1. <?php
  2. echo '<div class="fb_share">
  3.  
  4. <a name="fb_share" type="button_count" share_url="http://'.{$dir}view/{$post['Post']['id']}/{$urltitle}.'" href="http://www.facebook.com/sharer.php" share_url="'.{$dir}view/{$post['Post']['id']}/{$urltitle},'">Share</a>
  5.  
  6. <script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>';
  7. ?>
aroox
Czyli robiłem dobrze tongue.gif
Ale niestety, gdy umieszczam taki kod na stronie (z echo) to mam blank page :/

Suchary

Pod tym linkiem można obejrzeć (chociaż nie wiem co tu jest do oglądania) tą białą stronę

Pełny index wygląda tak:
Kod
<?php foreach($posts as $post):
$urltitle = html_entity_decode(str_replace(array('ą','ć','ę','ł','ń','ó','ś','ź','ż','Ą','Ć','Ę','Ł','Ń','Ó','Ś','Ź','Ż',' '),array('a','c','e','l','n','o','s','z','z','A','C','E','L','N','O','S','Z','Z','-'),$post['Post']['title']));
?>

<div class="imagediv">
    <h1><?php echo $html->link($post['Post']['title'],'/view/'.$post['Post']['id'].'/'.$urltitle,null,false,false); ?></h1>
    Wrzucone <?php echo $time->czas_relatywny($post['Post']['created']); ?> przez <a href="<?php echo $dir; ?>profiles/<?php echo $post['User']['id']; ?>"><?php echo $post['User']['username']; ?></a> | <a href="<?php echo $dir; ?>view/<?php echo $post['Post']['id'].'/'.$urltitle.'#comments'; ?>">Skomentuj (<?php echo $post['Post']['comment_count']; ?>)</a><br />
    <span id="vote-<?php echo $post['Post']['id']; ?>">
    <?php
    if(!isset($post['UserVote'][0])) {
    echo 'Głosuj: ';
    echo $ajax->link("<b class=\"up\">".$vup."</b>",array('controller'=>'vote','action'=>'up',$post['Post']['id']),array('update'=>'vote-'.$post['Post']['id'], 'before'=>'$(\'vote-'.$post['Post']['id'].'\').innerHTML = \'Twój głos: <img class="load" src="'.$dir.'img/loading.gif" />\';'),null,false);
    echo ' &middot; ';
    echo $ajax->link("<b class=\"down\">".$vdown."</b>",array('controller'=>'vote','action'=>'down',$post['Post']['id']),array('update'=>'vote-'.$post['Post']['id'], 'before'=>'$(\'vote-'.$post['Post']['id'].'\').innerHTML = \'Twój głos: <img class="load" src="'.$dir.'img/loading.gif" />\';'),null,false);
    echo '</span>';
    } else {
    $post['UserVote'][0]['plus']==1 ? $na=$vup: $na=$vdown;
    $na == $vup ? $class = 'up': $class = 'down';
    echo "Twój głos: <b class=\"{$class}\">{$na}</b> (".$ajax->link("cofnij",array('controller'=>'vote','action'=>'cancel',$post['Post']['id']),array('update'=>'vote-'.$post['Post']['id'], 'before'=>'$(\'vote-'.$post['Post']['id'].'\').innerHTML += \' <img class="load" src="'.$dir.'img/loading.gif" /> \';'),null,false).")</span>";
    }
    ?> | <?php echo 'Ocena: '.$post['Post']['rate'].' (Liczba głosów: '.$post['Post']['votes_count'].')'; ?><?php
    if($session->check('Auth.User')):
    ?> | <span id="fav-<?php echo $post['Post']['id']; ?>">
    <?php
    if(isset($post['Favorite'][0])) {
    echo $ajax->link("Usuń z ulubionych",array('controller'=>'front','action'=>'del_favorite',$post['Post']['id']),array('update'=>'fav-'.$post['Post']['id'], 'before'=>'$(\'fav-'.$post['Post']['id'].'\').innerHTML += \' <img class="load" src="'.$dir.'img/loading.gif" /> \';'),null,false);
    } else {
    echo $ajax->link("Do ulubionych",array('controller'=>'front','action'=>'add_favorite',$post['Post']['id']),array('update'=>'fav-'.$post['Post']['id'], 'before'=>'$(\'fav-'.$post['Post']['id'].'\').innerHTML += \' <img class="load" src="'.$dir.'img/loading.gif" /> \';'),null,false);
    }
    echo '</span>';
    endif;
    ?>
    <?php
    if($post['Post']['user_id']==$session->read('Auth.User.id') && $post['Post']['public']==0 && ((int)$session->read('Auth.User.admin')===0)) {
    echo ' | ';
    echo $html->link('Usuń',array('controller'=>'front','action'=>'del',$post['Post']['id']),array('style'=>'color:red;'),'Czy chcesz usunąć?');
    }
    elseif($session->read('Auth.User.admin')==1) {
    echo ' | ';
    echo $html->link('Usuń',array('controller'=>'admin','action'=>'delete','post',$post['Post']['id']),array('style'=>'color:red;'),'Czy chcesz usunąć?');
    }
    ?>
    <?php
    echo "<a href=\"{$dir}view/{$post['Post']['id']}/{$urltitle}\"><img src=\"{$dir}{$post['Post']['img']}\" alt=\"{$post['Post']['title']}\n\n\n{$post['Post']['body']}\" /></a>";
    ?>
    <?php
    echo '<div class="fb_share">
    
    <a name="fb_share" type="button_count" share_url="http://'.{$dir}view/{$post['Post']['id']}/{$urltitle}.'" href="http://www.facebook.com/sharer.php" share_url="'.{$dir}view/{$post['Post']['id']}/{$urltitle},'">Share</a>
    
    <script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>';
    ?>


<?php
if(!empty($post['Tag'])):
?>
<div class="tags">
    Tagi: <?php
    foreach($post['Tag'] as $_tag) {
    echo $html->link($_tag['name'],array('controller'=>'tag','action'=>$_tag['name']),array('title'=>$_tag['name'])).', ';
    }
    ?>
</div>
<?php endif; ?>
</div>

<?php
if(($ad['i'] % $ad['per']) == 0)
echo $ad['value'];
$ad['i']++;
?>

<?php endforeach; ?>
<div class="paginator">
    <?php
    $paginator->options(array('url'=>array('controller'=>'/','action'=>'index')));
    echo $paginator->prev('«« ',array('class'=>'prev'),null,array('class'=>'disabled'));
    echo $paginator->numbers(array('class'=>'numbers'));
    echo $paginator->next(' »»',array('class'=>'next'),null,array('class'=>'disabled'));
    ?>
</div>

<?php /*
pr($posts); */
?>
!*!
Popraw tagi na forum, cały skrypt wygląda na fatalny, demoty za 50zł?
aroox
tak, właśnie tak tongue.gif ale nie rozumiem, w czym ma mi to pomóc?
!*!
Nie Tobie, a każdemu kto przegląda to co wkleiłeś.

Pokaż błędy (włącz obsługę błędów w PHP jak takowych nie msz). Zresztą, kod działa na tyle ile jest wart. Zgłoś się do autora, wszytko już zostało wyjaśnione wyżej.
aroox
aha... no dobrze, dziekuję za wszelką pomoc, napiszę do autora.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.