Hej Mirki, wszędzie wirus, siedzicie w domach i piwnicach to podrzucam w ramach walki z wolnym czasem kurs na #udemy, który niedawno tam opublikowałem, #chwalesie trochę.
Przez najbliższe 3 dni jest za darmo z kodem PROGRAMISTA15K ( ͡° ͜ʖ ͡°)

Link do kursu tutaj:
https://www.udemy.com/course/wordpress-theme-development-with-twig-and-timber/

Uwaga - kurs tylko po angielsku, póki co niestety bez napisów EN i PL.
Przed zapisaniem się zalecam sprawdzenie czy jesteście w
#php #symfony #twig #programowanie

Cześć Mirki, chcę zaimplementować newsletter w stopce. Mam newsletter stworzony jako osobny twig który implementuje do footer a potem całość jest inlude do base.html.twig
Problem jest taki że jak zdefiniuje swiftmailer dla strony głównej tego newslettera to inne zakładki gdzie jest stopka nie działa strona. Jak wyrenderować ten newsletter dla wszystkich zakładek?
@Jare_K: Właśnie że form ma być wysyłany za pomoca swiftmailer. A jak daje include do footer i tylko render w jednym miejscu to jedna podstrona działa tylko...
  • Odpowiedz
Mireczki, mam problem, z którym nie mogę sobie poradzić. Otóż mam stronkę na #wordpress Używam sobie #twig i #timber
Chcę zrobić sobie loopa postów. No i zamiast postów loop'uje mi strony. W zasadzie to jedną stronę, główną.
Plik page.php - https://pastebin.com/vAhkmzhh , w nim renderuje index.twig - https://pastebin.com/fShgSp8S gdzie includuje post-single.twig - https://pastebin.com/aqU95hd1
Gdzie leży błąd? Dodam, że np. loop po custom fieldach z ACF działa poprawnie. Ktoś, coś?
#webdev #webdevhelp #
Tworzę stronę do faktur na zaliczenie (w Symfony3) i chciałbym stworzyć raport podsumowujący zysk/stratę miesiąc po miesiącu. Niestety moim sposobem (podanym poniżej) nie wyświetlają się miesiące dla których nie ma rekordów (np. w lutym nie było wydatków ani zysków to wyświetl w lutym 0).

//query to generate profit report
$query=$entityManager->getRepository(Invoice::class)
->createQueryBuilder('i')
->select(' sum(i.netValue) AS netSum, MONTH(i.createDate) AS month, YEAR(i.createDate) AS year, i.incoming AS incoming')
->where('i.owner=:owner')
->groupBy('year')
->addGroupBy('month')
->addGroupBy('incoming') //faktura przychodzaca czy wychodzaca
Znowu szukam kogoś kto ogarnia grav cms albo php. Stworzylem sobie custom field

title: HLG tabs
'@extends':
type: default
context: blueprints://pages

form:
fields:
tabs:
type: tabs
active: 1

fields:
section-2:
type: tab
title: Services
header.custom.secondTrampItems:
name: secondTrampItems
type: list
style: vertical
label: Second Tramp items
fields:
item:
type: text
label: Item

teraz chce wyswietlic sobie zawartosc tych custom field w formie list html. A wiec daje



{% for item in page.header.custom.secondTrampItems %}
#php #twig #slim #silex #programowanie
Murki, i Slim i Silex wyrzuca mi cały kod widoku, gdy chcę załadować jakiegoś css-a albo js-a. Idzie zapytanie o zewnętrzny plik, a zwraca mi kod widoku, zamiast assetu, co mogło się #!$%@?ć? Odpalam z wbudowanego serwera, może spróbować na apacha przenieść?
@Arveit: Filtruje ci znaki specjalne pewnie (dla bezpieczeństwa). Jeśli chesz dodać kod, który ma się wykonać, a nie wyświetlić to wyłącz escape dla tego fragmentu.
  • Odpowiedz
@MQs: dzięki za pomysł, ale to nie było to. Oczywiście nie doczytałem dokumentacji (mój błąd), że na built-inie trzeba jeszcze dopisać parę linijek, żeby normalnie podawało statyczne pliki.
  • Odpowiedz
@mariecziek: Jak chcesz zmienić wygląd danego pola to musisz nadpisać jego wygląd podobnie jak zrobiłeś to tutaj http://www.textsnip.com/kiokh0 . Zastanawia mnie jak to się stało, że działa Tobie to nadpisanie jak na końcu jest options, ale to chyba jest jakieś specyficzne zachowanie przy radio. Jak masz klasę EntityType to powinieneś nadpisywać bloki typu entitywidget, entity_label w zależności pod jaką nazwą w środku to określiłeś w samej klasie.

Możesz skorzystać z
  • Odpowiedz
#symfony #php #twig

Pytanie o translate.

W layout mam

error_message|trans
W kontrolerze coś takiego

catch (\Exception $e) {
if ($e instanceof UserViewableException) {
$this->addFlash('error', $e->getMessage());

Wyjątek wywołuję w listenerze tak:

throw new UserViewableException('Object.message.cannotDelete');
Jak zrobić paramety do translate? Nie chciałbym używać trans w kontrolerze, niech to robi twig.
W tej chwili rozwiązałem to tak że nadpisałem Translator i parametry zagnieżdżam jako json, robiąc w uproszczeniu coś takiego

throw new UserViewableException('Object.message.cannotDelete##params##{"%used_in%":"Rekord ID object_id"}');
Witam webdevów.
Mam taki problem, chcę wyświetlić video z YT na stronie. Korzystam z Youtube Iframe API, jednak video nie chce działać. Tzn. wszystko się odpala, ale video nie jest odtwarzane. Mam tylko komunikat "An error occurred. Please try again later". Wideo da się odpalić tylko wtedy, jeżeli zakomentuję funkcję onPlayerReady. Jeżeli zakomentuję zawartość funkcji, to wideo nie będzie odtwarzane. Może macie pomysły co może być nie tak?
Załączam kod.
Skrypty
@mariecziek: Nie, iframe a api dwie różne rzeczy praktycznie. Możesz to zrobić w dwojaki sposób
1. (tak mam w jednym serwisie gdzie filmów YT jest tysiące)
ogólna zasada:

tu dajesz poster filmu

tu będziesz ładować iframe po kliknieciu na play

I mój kod wygląda mniejwięcej tak:

$('.film').delegate('.player', 'click', function(event) {
event.preventDefault();
return $(this).replaceWith('');
});

gdzie w data-id mam hash z youtube
Pomijasz wtedy youtube api i działa.

2. Mozesz zrobic to
  • Odpowiedz
@rzeka: przekazać to do widoku albo zrobić taką zmienną globalną(w symfony z twigiem taką zmienną globalną jest app np zapewne gdzieś da się ustawić to też i w laravelu
  • Odpowiedz
Mirki, kolejny mój problem z zakresu programowania Symfony2.

Mam problem z Twigiem i za nic nie wiem jak go rozwiązać. Całość przedstawia się następująco:
Zakładamy, że dla uproszeczenia przykładu istnieją 3 pliki: head, layout, stronaGłówna.

W pliku head mamy całą sekcje head strony, w tym {% block title %} {% endblock %}, w którym zawiera się tytuł strony.

W pliku layout wykorzystujemy include, żeby dodać cały nagłówek to szablonu głównego.

W pliku
#php #symfony2 #twig #webdev

#!$%@?ąc od tego, czy to dobra, czy zła praktyka (zła), potrzebuję przekazać do knpmenurender obiekt z templatki twiga (na jego podstawie niektóre menu są ukrywane). Niby dokumentacja pokazuje taki przykład, ale w moim przypadku nie działa. Bawił się ktoś kiedyś tym?
@Toczen: w koncu forka nie było i też się wyczarować nie udało. w ostatniej chwili przyszlo olśnienie - udało mi się wstrzykiwać request i z niego pobierać obiekt, który potrzebowałem :)
  • Odpowiedz
Tak jak podoba mi się #symfony tak nie mogę ogarnąć jednej rzeczy, app.php = produkcja a app_dev = dev i teraz, kiedy piszę sobie jakiś widok w #twig to daję jako action np. = /admin/Users/add , tylko teraz ten link kieruje mnie na produkcję a ja chcę żeby to również leciało na środowisko developerskie... można to jakoś magicznie zmienić żeby w zależności od miejsca wywołania leciało albo na produkcję albo na dev?
@Harry19911: Dziwne ustalenia. Silex jest trochę olewany ciepłym moczem przez autorów jak i ma małą społeczność. Jego "mikro" znika gdy będziesz chciał użyć routingu, Twiga, Doctrine - wtedy w zasadzie jest tak samo obciążający jak Symfony. Mikro w jego nazwie to kłamstwo :P
  • Odpowiedz