Как точно да взема снимката от страницата с Share и Like

vinsbg

Registered
Нещо не мога да го наглася това. От вчера се мъча, но когато поствам без значение дали се намирам на началната страница или в някоя подстраница от сорта на index.php?id=123 винаги поства различни снимки.. Не взима тази от страницата.

При проверка на https://developers.facebook.com/tools/debug/ излиза грешка
og:image is missing. The og:image meta tag is necessary for Facebook to render a News Feed story that generates a high click-through rate.
Каква стойност трябва да сложа на og:image?

И това също:
Inferred Property - The 'og:url' property should be explicitly provided, even if a value can be inferred from other tags.
Inferred Property - The 'og:image' property should be explicitly provided, even if a value can be inferred from other tags.

Моля за малко помощ тук, как точно се конфигурират бутоните шаре и лайк?
 
<meta property="og:image" content="link kum snimkata" /> - Това в Header
( http://ogp.me/ )


От тук си избираш бутоните -> https://developers.facebook.com/docs/plugins/like-button
 
montana каза:
<meta property="og:image" content="link kum snimkata" /> - Това в Header
( http://ogp.me/ )


От тук си избираш бутоните -> https://developers.facebook.com/docs/plugins/like-button

Това не ми е ясно. Страниците са динамични и съответно и снимките. Как да задам урл-то. Същото е и с og:url.
Това og:url също е динамично, както се подразбира. Ако сложа <meta property="og:url" content="http://mysite.com/"/> то ще излиза това винаги.
 
Ами на og:url слагаш динамичното URL, а на og:image избрана картинка от "динамичната" страница. Примерно имаш сайт за новини, в og:image слагаш главната снимка от новината и т.н. Ако нямаш различни снимки, можеш да сложиш една обща в og:image.
 
УРЛ-то пробвам така, но се получава нещо странно :)
Код:
<meta property="og:url" content="http://mysite.com/index.php?cat_id=<?php echo $_GET['cat_id']; ?>?id=<?php echo $_GET['id'];?>"/>

резултата в дебъгера на фейсбук е
Код:
http://mysite.com/index.php?cat_id=?id=?id=?id=?id=?id=?id=?id=?id=?id=?id=

А в html-a на страницата си излиза нормално.

EDIT:
Ок, URL-то мисля, че го оправих вече..
Код:
<meta property="og:url" content="<?php echo 'http://mysite.com'.$_SERVER['REQUEST_URI']; ?>" />

Остана по някакъв начин и снимката да излиза тази, която е на страницата, а не, която си реши то от цялата папка със снимки :)
 
Само снимката остана да я взема някак, но не успявам.
Код:
<meta property="og:image" content="http://site/upload/<?php echo $_GET[$line['name']];?>" />
връща
Код:
http://site/upload/

А и не съм сигурен, че $_GET[$line['name']]; е много правилно по този начин.
 
Как изкарваш снимката? Какво пишеш в <img src="тук" /> ? Това напиши и в og:image... o_O
 
Снимката я изкарвам така
Код:
<img src=\"http://site/upload/".$line['name']."\"/>
Пробвам в мета тага и не става.. в html-а виждам само http://site/upload/

Код:
<meta property="og:image" content="http://site/upload/<?php echo $_GET[$line['name']];?>" />

и така 
<meta property="og:image" content="http://site/upload/".$line['name']."" />

и така пробвах
<meta property="og:image" content="http://site/upload/<?php echo $line['name'];?>" />
И не става..

Пробвах с var_dump($line['name']) в мета тага да видя какво ще върне и връща NULL :shock: ?. а в страницата, където трябва да си излезе няма проблеми и си излиза. Явно друг е проблема.
Код:
<meta property="og:description" content="NULL" />
 
Щом при снимката $line['name'] съществува, а при мета тага - не, значи просто я създаваш някъде между тях. Трябва да го намериш това място и да го преместиш отгоре :?:

Разбира се, провери дали $line е глобална, може от това да е?
 
Аз реално инклудвам head.php, където са всички мета тагове преди изпълнението на php-то, където вадя снимките и всичко останало.
Затова ли говориш?
Защото реално аз се опитвам да използвам променлива, която все още не е създадена?
 
vinsbg каза:
Защото реално аз се опитвам да използвам променлива, която все още не е създадена?
:arrow: именно!

Тоест трябва да преместиш тази част от кода, която създава $lines, някъде в хедъра. (преди мета таговете).
Друг вариант - направи функция, която връща $lines. Сложи я горе в header.php и я извиквай, когато ти потрябва :?:
 
Защо получавам тези две точки '..' в оутпута?
Код:
<meta property="og:image" content="http://localhost/upload/../upload/067d15bf9df056d7dc67f82bb573edf9.jpg" />
Когато извеждам пътя така
Код:
<meta property="og:image" content="http://localhost/upload/<?php echo $file_path;?>" />
От къде се появяват?
 
vinsbg каза:
Защо получавам тези две точки '..' в оутпута?
Код:
<meta property="og:image" content="http://localhost/upload/../upload/067d15bf9df056d7dc67f82bb573edf9.jpg" />
Когато извеждам пътя така
Код:
<meta property="og:image" content="http://localhost/upload/<?php echo $file_path;?>" />
От къде се появяват?
Защото файла ти е две директории "навътре". Направи го така:
Код:
<meta property="og:image" content="http://localhost/<?php echo substr($file_path, 1);?>" />
Ще премахне двете точки от началото + втората папка uploads :?:
 
Сега е 1 точка...
Код:
http://localhost/upload/./upload/a28968ddf3d177118b045effe0cee9c4.jpg

edit:
Така стана..
Код:
<meta property="og:image" content="http://localhost<?php echo substr($file_path, 2);?>" />
 

Горе