Diskuze: Velké množství podstránek (>50) se stejnou strukturou
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 19 zpráv z 19.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.
dá, jmenuje se to pole a cykl. V poli budeš mít, stárnky, substránky, atd. Cyklem projedeš co potřbeuješ a doplácáš to do SQLka. Hodně ti pomůžou zdejší tutoriály.
bylo mi jasné, že to nějak půjde tímto ošetřit, ale i když jsem postupně studoval jednotlivé tutoriály tak přesně nevím, kde hledat.. představil bych si to možná tak, že se při kliknutí na odkaz předá parametr obsahující název obou kategorií a pošle do souboru, který si to sám zařadí kam potřebuje a vypíše to stránku dané podkategorie, ale nejsem si jistý..
Stránku si vytvoříš jednu (takovou "šablonu"), údaje si zjistíš u URL
a dosadíš je do ní. Dosadíš do všeho, vše z toho lze odůvodnit.
Samozřejmě musíš mít stránku pro kategorie a pro subkategorie.
Do stránky vložíš název kategorie (jen zkopíruješ z URL nebo pokud to
chceš mít v URL zkracované, uděláš si pole a indexem budou parametry z URL
a název kategorie hodnota. Subkategorie si udělej třeba z databáze nebo si
to udělej podmínkami (spíš databází). Inzeráty vypíšeš tak, že si
dosadíš do SQL dotazu opět parametry URL.
Je to jedna z možností, kterých je spousta. Určitě to není nejlepší, ale
použitelné a lze to rozvíjet.
myslim, ze toide urobit za pomoci PHP (resp. ASP) a prepojes to s
databazou
ked browser bude potrebovat danu stranku, tak webovy server vezme prislusny
subor, za pomoci preprocesoru ho zinterpretuje, doplni udaje z databaze a
vysledok sa ti posle do browseru ako hotova klasicka stranka...
takto vlastne funguju vsetky frameworky, ako aj vsetky CRM systemy... nikde v
adresarovej strukture stovky az tisice nemas HTML suborov, ale mas iba zopar
skriptikov, ktore tvoria logicku cast celeho systemu a udaje su ulozene v
databazi a v pripade potrebu sa iba doplnaju udaje do vystupnej sablony
Na tohle je dobrý objektový redakční systém v PHP, MVC, si teda myslím.
Pokud umíš PHP a naučíš se to, tvůj problém se vyřeší a tvůj projekt
bude i snadno rozšiřitelný. Navíc je to i jednoduchý.
V malej mierke by si si vytvoril jeden súbor, kde by si statické časti napísal ručne (napríklad každá stránka začína <!DOCTYPE html>, pokračuje hlavičkou a načíta rovnaké CSS. Je potrebné meniť iba <title> prípadne <meta name="desription">). Na začiatku by si sa pripojil do databázy a vytiahol požadované údaje (title, description, text v body), uložil ich do poľa pomocou mysqli_fetch_array() a následne ich iba na správnom mieste vypisoval.
Ak je požadovaných štruktúr stránky viac (ako napríklad pri inzertnom portáli) bude spoločných bodov menej a podmienkami budeš musieť určiť, ktorý vzhľad potrebuješ:
<?php if($result['category'] == hlavna_stranka) :?>
<div class="obal">
...
<?php elseif($result['category'] == vyber_kategorii) :?>
<table>
...
<?php else: ?> //znamená, že sme medzi inzerátmi
<ul>
...
<?php endif?>
Je to iba ukážka, ako sa dá kód rozvetviť. V každom bloku môžme vypisovať nejaké informácie alebo inzeráty.
Tak jsem začal projíždět zdejší tutoriály na objektový redakční systém MVC a zaplatil si i ty prémiové. Jenže se obávám, že budu mít potíže s napasováním webu přímo na toto.
Chápu to zhruba dobře, že přes MVC si připravím rozložení atd. a poté pomocí cyklů budu generovat jednotlivé stránky daných kategorií? Trošku se toho obávám celého, mrkněte prosím kdyžtak na http://mainos.cz/ ať zhruba víte, jak to myslím v reálném použití.. Jsem odhodlaný to celé překopat bez tolika podstránek stejných, ale po projetí tutoriálů mám jakýsi pocit nejistoty že to nezvládnu..
Jde to nějak efektivně předělat, aby mi to nesežralo příliš mnoho času? Jinak budu muset své záměry tak na dva měsíce odložit..
Jak již správně říkali, v dynamickém webu se využívají tzv. šablony/pohledy... Ty obsahují krátké (tzn. né celou stránku) dávky HTML souboru doplněné o nějaké ty cykly a podmínky.
Využívá se pro to šablonovací systém jako phtml, smarty... (pogoogli, v našich MVC tutech to je phtml).
Určitě se koukni na ty MVC, resp. podle mě to je spíše už MVP (ale to je podobné), tutoriály - http://www.itnetwork.cz/php/mvc a http://www.itnetwork.cz/php/e-shop
Prošel jsem si MVC redakční systém, ale jak ted přemýšlím, na moje účely inzerátů je spíš lepší si projít patrně ten eshopovej tutoriál, jelikož tam se také zobrazují sta až tisíce různých podstránek, že?
Pokud chápeš PHP, stačí se pak mrknout i po OOP či se vrhnout hned do tohohle a pak až mrknout na OOP (pokud to pospíchá). Po pochopení MVC architektury už to jde rychle a opravdu jednoduše. Takhle si např. sepíšeš jen jeden pohled pro ty inzeráty, jeden kontroler a jeden model (či více, nevím, co v nich máš).
Takže pokud chceš psát efektivně a chceš to nějak rozšiřovat, sáhni
po tom MVC.
MVC/MVP jsou univerzální systémy - jsou to takové metody pro rozložení kódu tak, aby bylo v systému oddělená logika (funkční "prográmky"), řadič (něco co řídí co se má dělat, volá logiku a vypisování pohledů) a pohledy (šablony).
Pro tvůj web je to určitě vhodné, ale možná budeš pravděpodobně muset přepsat své dočasné soubory aby byly v souladu s rozložením MVC/MVP.
Nějak rychle předělat? Tak to hlavně závisí na pochopení, tvých zkušenostech a rychlosti...
Je jedno, kolik je tam podstránek, jestli jsou podobné, ve skutečnosti bys je dokázal spočítat na jedné ruce. Jde o to používat PHP jako jakési šablony a z nich potom načítat dané podstránky. Potom už je jedno, kolik těch podstránek (popřípadě šablon) uděláš.
Ono to jsou v podstatě shodné tutoriály, ale v sérii pro eshop je tam využito trochu jiné metody.
V úvodu do MVC máš pro každou odlišnou stránku - články, profil... - jiný kontroler (řadič), který se stará a vypisuje jen to co je mu určeno.
V sérii pro eshop je to udělané tak - jelikož máš na webu třeba 95%+ stejných stránek - že např. spojíš několik kontrolerů do jednoho a vytvoříš tak např. kontroler pro články, kterému v databázi ještě přidáš odkaz na speciální doplnění článku.
Výhodou je to, že v DB máš všechno uloženo v tabulce články, a proto můžeš mít místo clanky/alfa a profil/beta jen /alfa a /beta. V prvním případě toho samozřejmě můžeš také dosáhnout, ale musel bys to složitě zjišťovat.
Redakční systém v MVC jsem zhruba projel a odemčel si veškeré podklady k tomu. Mám tedy začít nějak upravovat stávající soubory nebo to vytvořit kompletně nové, s tím že nějaký obsah neměnný jen překopíruju? Že bych i do jisté míry použil modely, kontrolery a pohledy z tutoriálů a poupravil je pro sebe?
No, z hlediska efektivnosti bude pravděpodobně lepší, pokud začneš
znova a budeš přikukovat do minulé verze, odkud můžeš kopírovat ty
části kódu, které využiješ i tady.
Takže jakoby začnu odznova, vytvořím si stejně tu hlavní stránku, ale už ty odkazy na podkategorie budu psát jinak než cestou na daný soubor? Nebo index.php nebude obsahovat to rozložení, ale právě to už bude v jiným souboru?
A mám při znovuvytváření brát i ohled na to, že chci zároveň ten web dělat responzivní, nebo to už bude relativně snadné k tomu potom přidat?
Když si to přečteš, dozvíš se, že se všechno odkazuje na index.php,
který to zpracuje. Ten si pak volá Směrovač, který otevře daný kontroler,
který se volá. Takže pak máš třeba místo inzeraty.php inzeraty.
Z tohoto kontroleru se pak můžeš odrážet dál - inzeraty/mobily/jine.
Přečti si o tom, jak se to zpracovává a i ty různé příklady.
Pokud bude responzivní, upravíš jenom CSS. Tam není problém.
Zobrazeno 19 zpráv z 19.