[Symfony]wkhtmltopdf oraz twig |
[Symfony]wkhtmltopdf oraz twig |
13.06.2018, 19:46:43
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) |
Witam,
Mam następujący problem. Posiadam w bazie danych tabele meeting, w niej id, guest,host, start_time,end_time oraz table_numer. Do generowania używam wkhtmltopdf oraz symfony 3, samo generowanie pdf to żaden problem, niestety Twig nie chce ze mną współpracować. Chciałbym zrobić tak, aby najpierw wygenerowało spotkania dla stolika 1, później dla 2 itd. Cały proces powinien wyglądać tak: - Początek generowania pdf dla stolika 1 - Zmienia się stolik z 1 na 2, następuje page break i zaczyna generować nową stronę ze spotkaniami dla stolika 2 itd Problem polega na tym, że generuje mi pdf dla stolika 1, po czym dorzuca 1 spotkanie dla stolika 2. Zaczyna generować pdf dla stolika 2, na koniec wrzuca mi 1 spotkanie ze stolika 3. Tak wygenerowany pdf wygląda tak: http://cyrklaf.eu/table.pdf Nie mam pojęcia gdzie jest błąd, że zawsze pobiera jedno spotkanie z innego stolika. Mój kod Twig bo w nim leży problem:
Chciałbym aby po skończeniu generowania spotkań dla stolika 1, zaczął generować kolejną stronę ale dla stolika 2 itd Ten post edytował PawelC 13.06.2018, 19:53:15 |
|
|
13.06.2018, 19:59:14
Post
#2
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Musisz napisać w skrypcie, aby pętla jechała od iteracji drugiej (stolika drugiego), a nie od nowa od pierwszego (pierwszej iteracji).
Musisz chyba dodać warunek w tym for, przykład z doc.: Kod {% for user in users if user.active %} // ... {% endfor %} Czy nie powinno być: Kod {% for meetings in meeting %} ? Pokaż jakie masz wartości w tym meetings, meeting, itd.. (pokaż tylko 2-3 początkowe wartości). A może po prostu tak napisz: PSEUDO-CODE: Kod {% set last_table++ %} Zinkrementuj zmienną, żeby liczyła od drugiego stolika, a nie od pierwszego. Gdzie w poniższym kodzie masz break'a, czy coś: Kod {% if meeting.tableNumber != last_table %} ? Ten post edytował Neutral 13.06.2018, 20:25:42 |
|
|
13.06.2018, 20:21:59
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) |
|
|
|
13.06.2018, 20:27:03
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Kod <div class="page"> {% for meeting in meetings %} {{ meeting.guest }} {{ meeting.host }} stolik obecny {{ meeting.tableNumber }} stolik poprzedni {{ last_table }} {% if meeting.tableNumber != last_table %} // Jeżeli obecny stolik jest inny od ostatniego powinien zakończyć generowanie i rozpocząc dla kolejnego stolika {% set last_table = meeting.tableNumber %} </div> <div class="page"> {% endif %} {% endfor %} </div> l Teraz musisz tylko sobie dodać warunek żeby nie generowało Ci ostatniej pustej strony. Ten post edytował Pyton_000 13.06.2018, 20:27:32 |
|
|
13.06.2018, 20:37:39
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) |
|
|
|
13.06.2018, 20:40:34
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Wypluj to co twig generuje do HTML i pokaż
|
|
|
13.06.2018, 20:44:56
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) |
|
|
|
13.06.2018, 21:07:19
Post
#8
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
No to już powinieneś widzieć rozwiązanie. Najpierw wyświetlasz a potem wstawiasz separator strony
|
|
|
13.06.2018, 21:10:40
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) |
Przyznam szczerze, że nie widzę rozwiązania ;/ długo się już z tym bawię i nadal nic
|
|
|
13.06.2018, 21:15:55
Post
#10
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
No przecież ci napisałem gdzie masz błąd.
|
|
|
19.06.2018, 17:58:38
Post
#11
|
|
Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) |
Ja używam w Symfony i w Laravelu TCPDF-a zainstaluj sobie paczkę i będziesz miał po problemie.
TCPDF pozwala generować PDF-y z kodu HTMLa, więc masz pole do popisu. TCPDF HTML XHTML + CSS Git TCPDF -------------------- Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
|
|
|
21.06.2018, 07:34:00
Post
#12
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
@LowiczakPL naucz się czytać w końcu i albo odpowiadaj na pytanie które zostało zadane albo nie odpowiadaj wcale bo twoja odpowiedź NIC nie wniosła do tematu. BA nawet nie rozwiąże problemu bo nie jest on związany z programem którego używa a z KODEM HTML.
|
|
|
Wersja Lo-Fi | Aktualny czas: 8.05.2024 - 04:34 |