Nette Framework – Like Button
- Takeshi
- Člen | 596
Zdravim vsetkych :-) Mozete mi pomoct s Like Button-om? Snazil som sa pridat vsetko podla stranky https://componette.org/search/?… ale zjavne niekde robim chybu … teda spravil som nasledovne:
⇒ stiahol som si „https://github.com/…tte-plugins/“ a nakopiroval som ho do libs/Nette (neviem ci je to spravne)
⇒ do config suboru som si nakopiroval kod, co je na stranke https://componette.org/search/?… pod „DI“
⇒ a nakoniec do Presenteru a Jemu prisluchajuce sablony potrebne kody
… viete mi poradit nejaky step-by-step navod? Po dlhom case sa vraciam k Nette, tak sa musim zorientovat :-) Dakujem
- Petr Hudík
- Člen | 49
Samotná stránka addonu je vlastně takový step-by-step návod, pravděpodobně ti tu nikdo nenapíše podrobnější postup.
Místo toho sem napiš, jakou chybu Ti to píše? co se zobrazuje? nebo kde ses zasekl? Rádi Ti poradíme.
- Takeshi
- Člen | 596
No prvý problém som si našiel, akonáhle som skopíroval nasledovný kód do config.neon, pod „factories“:
<?php
factories:
fbToolsScript:
class: \FbTools\Script
fbToolsLikeButton:
class: \FbTools\LikeButton
setup:
- setContext(...)
- setUrl('http://www.mojestranka.cz')
- setWidth(150)
.. or ..
- setAll([
url: 'http://www.mojestranka.cz',
font: 'netusim',
send: false,
])
?>
Problém: Server error … teda ERROR 500
Editoval Takeshi (7. 5. 2013 12:03)
- Petr Hudík
- Člen | 49
Obávám se, že „Problém: Server error … teda ERROR 500“ je nic
neříkající, to může znamenat téměř cokoliv. Na lokále by ti laděnka
měla vyhodit srozumitelnou chybovou zprávu, na produkci se chybové zprávy
ukládají do složky /log
. Vlož sem prosím obsah chybové
zprávy.
- Takeshi
- Člen | 596
No ako som zistil, ono to ma problem s rozlozenim. Teda nespravny pocet medzier a tak .. sak tu je ten error.log :
[2013–05–07 12–25–45] Nette\Utils\NeonException: Either tabs or spaces may be used as indenting chars, but not both. on line 35, column 21. in /www/sites/6/site17826/public_html/libs/Nette/Utils/Neon.php:367 @ http://www.trajan.php5.sk/www/ @@ exception-2013–05–07–12–25–45–6f47db8e2b464ceb2bdbe1e8670d9a70.html
… zatial sa s tym hram a upravujem miesta aby sa mu to lubilo :-)
- Petr Hudík
- Člen | 49
Pro konfiguraci se používá neon, je důležité, abys použil buď pouze mezery nebo pouze tabelátory, způsob odsazení nesmíš kombinovat.
Pro tip: v složce /log by měl být soubor exception-2013–05–07–12–25–45–6f47db8e2b464ceb2bdbe1e8670d9a70.html v tomto souboru nalezneš opravdu vychytanou chybovou zprávu, které vypadá třeba takto s její pomocí nalezneš chybu daleko snáze. Možná se to neprojeví v tomto případě, ale usnadní ti práci do budoucna.
Něco mi říká, že stránky testuješ jen na produkci (na serveru php5.sk), věnuj chvíli času a nastav si domácí prostředí, to Ti ušetří ještě víc práce.
Editoval Petr Hudík (7. 5. 2013 12:40)
- Takeshi
- Člen | 596
Dakujem za radu :-) Ked som odstranil iste medzery, tak mi hodilo chybu na riadku ← v nasledujucom zneni : „Duplicated key ‚class‘ on line 38, column 27“
<?php
factories:
fbToolsScript:
class: \FbTools\Script
fbToolsLikeButton:
class: \FbTools\LikeButton <-----------------------------
setup:
- setContext(...)
- setUrl('http://127.0.0.1:8887/trajan.php5.sk/www/')
- setWidth(150)
?>
- Takeshi
- Člen | 596
enumag napsal(a):
To odsazení je podstatné, nemůžeš ho jen tak odstranit.
No to je pekne povedane a aj mne to napadlo, lenze ked som to jednoducho skopiroval zo stranky nette , tak mi pise uz spominanu chybu … ale pre istotu este raz „Either tabs or spaces may be used as indenting chars, but not both. on line 34, column 9“ … preto som sa snazil odstranit tie medzery … insie ma nenapadlo … lepsie riesenie len uvitam :-)
- Petr Hudík
- Člen | 49
Prosím vyzkoušej si, jak funguje NEON, na této stránce je to velice pěkně vidět, co se stane, když to změníš jak jsi popsal. Můžeš živě vidět jak se změní, když odebereš nějaký tabulátor/mezeru.
- Takeshi
- Člen | 596
OK, tak dalsia vec … predosli problem sa mi podarilo rozbehat (Vdaka) ale je tu dalsi … ked dam vsetky funkcie, podla stranky, na spravne miesto, tak ..
<?php
{control likeButton, url => "http://127.0.0.1:8887/trajan.php5.sk/www/", send => false}
?>
mi pise chybu
<?php
Call to undefined method FbTools\LikeButton::setContext().
?>
… teda neviem co mam dat do funkcie setContext() … nejaky priklad?
Editoval Takeshi (7. 5. 2013 14:02)
- Takeshi
- Člen | 596
Alebo som este skusal nasledovne
namiesto
<?php
- setContext(...)
- setUrl('http://www.mojestranka.cz')
- setWidth(150)
?>
som dal toto
<?php
- setAll([
url: 'http://127.0.0.1:8887/trajan.php5.sk/www/',
font: 'Arial',
send: false,
])
?>
…ale tu mi zase vyhadzuje chybu >>>
<?php
Service 'fbToolsLikeButton': Unknown key '0' in definition of service
?>
Viete co s tym?
- piskotek
- Člen | 35
ahoj, včera jsem to řešil …
config
fbToolsScript:
class: \FbTools\Script
likeButton:
class: \FbTools\LikeButton
setup:
- setAll([
url: 'http://mojestranka.cz',
font: 'arial',
send: true,
display: recommend,
])
toto v navodu není, úspěšně jsem na to zapoměl
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/cs_CZ/all.js#xfbml=1&appId=_____ID_TVOJI_APLIKACE____";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
presenter
protected function createComponentLikeButton()
{
$fb = $this->context->createLikebutton();
$fb->setUrl('http://www.mojestranka.cz');
return $fb;
}
protected function createComponentFbScript()
{
return $this->context->createFbscript();
}
a ještě je třeba upravit v libs/…/likebutton.latte
{$url|url} na {!$url}
snad ti to pomůže