Diskuze: Zdejší MVC a pluginy
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 8 zpráv z 8.
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.
Přijde na to. Pokud používáš jmenné prostory tak do vendoru. Pokud ne tak bys měl mít odělenou logiku a data oddělená. U jmenných prostorů ale buddeš muset ještě celou aplikaci třetí strany upravit aby je využívala správně.
Záleží jaké MVC používáš. To "jednoduché MVC" nemá ještě žádnou robustní architekturu, takže do modelů. Pokud máš MVC z e-shopu, které "jednoduché MVC" rozšiřuje, tak tam do vendoru.
Hadam, ze pouzivas zdejsi jednoduche MVC, ktere sem taky blahove pouzival ... doporucuji ti hned hopsnout na nejaky framework, pokud to MVC chapes (Nette / Laravel ?) nebo si k tomu jednoduchemu MVC sednout, zkusit si na tom napsat vetsi appku, najit nedostatky a prakticky ho cely prekopat (jakoze zaklad nechat ale hoooodne ho rozsirit).
Ja nakonec skoncil tak, ze sem to zdejsi MVC reseni totalne prekopal k
nepoznani ... ale stejne mi tam chybelo plno veci, az sem to nakonec hodil do
kose a presel na Nette. Tim samozrejme nechci rict, ze to je spatne jen to je
fakt jak rika nazev "jednoduche MVC" a to casem zacne byt problem. Poslouzilo mi
ale i pro tvorbu internich appek pro dodavatelske spolecnosti Hyundaie a byli
spokojeni! 
Kazdopadne k dotazu ... externi pluginy apod. sem ze zacatku resil tak, ze sem si udelal slozku lib v korenovem adresari a tam sem uchovaval CSS + JS od stahnutych pluginu. Pak sem i to smazal a zacal pouzivat composer.
V seriálu e-shop je ukázané jak se to MVC dále rozšíří, není třeba
nic vymýšlet 
Děkuji za rady, už jsem na to jaksi přišel, ovšem se objevil problém s editorem tinyMCE, kdy v momentě, že chci přidávat obrázky pomocí file browseru, tak dobře, vyberu si obrázek, zobrazí se mi v okně pro edit, ale musím javascriptem odeslat data do souboru "postAcceptor.php" jako je psáno v oficiální dokumentaci tinyMCE. Zkoušel jsem plno způsobů, ale nevím, jak to správně napojit, pokud mě .htaccess vždy z /postAcceptor.php hodí na /postAcceptor a následně mě kontroler hodí na chybovou stránku (nebo pokud udělám v kontroleru vyjímku, nechá mě to přistoupit na /postAcceptor, ovšem data se do něj ze scriptu neodešlou. Tady jsou zdrojáky:
postAcceptor.php
$imageFolder = "img/";
reset ($_FILES);
$temp = current($_FILES);
if (is_uploaded_file($temp['tmp_name'])){
if (preg_match("/([^\w\s\d\-_~,;:\[\]\(\).])|([\.]{2,})/", $temp['name'])) {
header("HTTP/1.0 500 Invalid file name.");
return;
}
// Verify extension
if (!in_array(strtolower(pathinfo($temp['name'], PATHINFO_EXTENSION)), array("gif", "jpg", "png"))) {
header("HTTP/1.0 500 Invalid extension.");
return;
}
$filetowrite = $imageFolder . $temp['name'];
move_uploaded_file($temp['tmp_name'], $filetowrite);
echo json_encode(array('location' => $filetowrite));
} else {
// Notify editor that the upload failed
header("HTTP/1.0 500 Server Error");
}
a tinyMCE js plugin:
tinymce.init({
selector: "textarea[name=obsah], textarea[name=perex]",
theme: "modern",
paste_data_images: true,
plugins: [
"advlist autolink lists link image charmap print preview hr anchor pagebreak",
"searchreplace wordcount visualblocks visualchars code fullscreen",
"insertdatetime media nonbreaking save table contextmenu directionality",
"emoticons template paste textcolor colorpicker textpattern"
],
toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image",
toolbar2: "print preview media | forecolor backcolor emoticons",
image_title: true,
images_upload_url: '/postAcceptor.php',
file_picker_types: 'image',
images_upload_base_path: '/img/',
file_picker_callback: function(cb, value, meta) {
var input = document.createElement('input');
input.setAttribute('type', 'file');
input.setAttribute('accept', 'image/*');
input.onchange = function() {
var file = this.files[0];
var id = 'blobid' + (new Date()).getTime();
var blobCache = tinymce.activeEditor.editorUpload.blobCache;
var blobInfo = blobCache.create(id, file);
blobCache.add(blobInfo);
cb(blobInfo.blobUri(), { title: file.name });
};
input.click();
}
});
Děkuji za jakékoliv rady a nápady.
Hoď ho do ignorace.
RewriteRule ^postAcceptor.php$ - [L]
Zobrazeno 8 zpráv z 8.