Diskuze: Tisk v PHP
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 10 zpráv z 10.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, toto se běžně jednoduše řeší v CSS přes media queries a
uděláš to asi takto:
Někde v jednom společném CSS pro celou stránku přidáš blok, ve kterém
buď vyjmenuješ všechny prvky stránky, které schováš (nastavíš
display: none;) nebo možná ve tvém případě schováš
všechno a vytvoříš si classu print. Tu poté přiřadíš
sekci, která má být vidět při tisku, přičemž třídě class přiřadíš
vlastnost display: block;.
/*Varianta 1*/
@media only print {
header, nav, aside, footer {
display: none;
}
}
/*Varianta 2*/
@media only print {
* {
display: none;
}
.print {
display: block;
}
}
A pak je tedy ještě důležité mít daný CSS soubor se stylem obsahujícím výše uvedené media query naimportovaný jako:
<link type="text/css" rel="stylesheet" href="css/style.css"/>
tedy, aby link s celým CSS stylem neobsahoval atribut media
a v něm třeba nastavenou hodnotu screen, potom by výše
uvedené media query nefungovalo a muselo by být třeba vloženo v samostatném
CSS souboru. Záleží jak to máš udělané. 
Moc děkuji. Tento postup sice znám, ale zřejmě nic lepšího není. Když by někoho napadlo nějaké jiné řešení, dejte prosím vědět. Možná se ubírám špatným směrem, ale co z toho vygenerovat pdf a to pak tisknout? Jde mi hlavně o to, aby se výsledný tisk nemusel ořezávat o adresu webu nahoře a page 1 of 1 dole jak tomu je když tisknu html stránku.
Tak nakonec jsem našel řešení pomocí JS. Když by někdo řešil podobný problém, tady je kód:
<div id="printableArea">
<h1>Print me</h1>
</div>
<input type="button" onclick="printDiv('printableArea')" value="print a div!" />
function printDiv(divName) {
var printContents = document.getElementById(divName).innerHTML;
var originalContents = document.body.innerHTML;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
}
Ja to resim na jednom webu classou noprint.
Ale pak to mam kostrbate s dalsi class, protoze chci tam mit tlacitko nahled
tisku. Neco schovat, neco ne. A to tlacitko Zpet, aby se pri tisku take
nezobrazilo, kdyby nekdo nahled pouzil pro tisk. Nechtelo se mi nad tim moc
premyslet, no 
https://webapp.fpf.slu.cz/…ceni_sql.php?…
Zaskrtni Demo (pokud neni) a klikni zpracuj.
To je super, přesně takhle bych to chtěl mít. Hodil bys mi sem kousek kódu, prosím?
??? Na te strance je uplne cely kod html/css/js. Jinak by ti ji prohlizec
nezobrazil. Ale, jak rikam, mam to nepromyslene. Jenom proste ucelove jsem
rychle potreboval reseni.
Melo by to fungovat tak, ze 'noprint' class neukaze na tiskarne (Firefox - print
preview). Potom by tam mel byt dalsi class pro skryti pres js. A pak je tam
tusim js, ktery zmeni u jednoho style tagu media z print na all. Coz je sice
chytre, ale uplne na prd. Lepsi by bylo pouzit dve ruzne class. Jedna, ktera to
100% pri tisku schova a druhou spesl pro to skryti pro js.
<body>
<div class="noprint"></div>
<body class="print-preview"> // class bych pridal pres js k body
<div class="noprint print-preview-visible"></div>
<style madia=print>
.noprint {display:none;}
</style>
<style madia=screen>
.print-preview .noprint {display:none;}
.print-preview .print-preview-visible {display:block;}
</style>
jo, misto noprint bych pouzil print-hidden, at je to podobne print-preview-visible
Jasně, na stránce jsem na kód koukal, ale není to příliš komfortní, tak děkuji za přiložený výňatek. Zítra to zaimplementuji a hodím ti sem výsledek. Každopádně ještě jednou moc děkuji.
Zobrazeno 10 zpráv z 10.
