Halloweenská akce! Na stránce s dobitím bodů zadej dole kód STRASIDELNYCH20 a získej porci +20% bodů zdarma!
Akce končí 31.10. o půlnoci.

Diskuze: Netbeans - HTML5 + CSS3 + PHP

PHP PHP Netbeans - HTML5 + CSS3 + PHP American English version English version

Aktivity (1)
Avatar
Petr Vavřinec:8. října 17:19

Ahoj. Učím se programovat v PHP a rozhodl jsem se, že zkusím nějaké pokročilé IDE na localhostu. Na základě místního článku jsem si nainstaloval XAMPP a NetBeans a nějak to rozchodil. Teď mi je o to, že si chci vytvořit návrh (JEN vizuální návrh) pro svůj web cestovní agentury, který provozuji na pronajatém systému CeSYS, který mi potom provozovatel mého prodejního systému zkusí naimplementovat na jeho řešení. Tudíž primárně mám dáno, co do prohlížeče nateče od poskytovatele dat a já mám nějaké omezené možnosti, jak to vizuálně odlišit od konkurence (všem cestovním agenturám tečou prakticky stejná data). Čili HTML mám víceméně dané, CSS mohu nějak omezeně měnit. Provozovatel má nějakou svojí implementaci Bootstrapu.
Primárně si tedy potřebuji vytvořit v NetBeans projekt HTML5+CSS (jde mi hlavně vyzkoušet si vizuál) a v něm si zkoušet, jak by mohl vypadat můj budoucí responzivní web. Potřebuji ale jednoduché cykly a fragmenty kódu v PHP, abych si byl třeba schopný přes API natáhnout data od poskytovatele dat, abych viděl, jak návrh bude vypadat s reálnými daty. A zároveň tak trochu chci vyzkoušet LESS, abych se v CSS někam kousek dál posunul.
JENŽE! Když zvolím v NetBeans typ projektu HTML5+CSS, tak už nijak nedokážu vynutit, aby nové soubory mohly být soubory PHP. A HTML se mi samozřejmě neproženou přes PHP.¨
Když zvolím projekt typu PHP aplikace, tak zase nemám v projektu všechny ty složky pro LESS, CSS, nalinkovaný Bootstrap a podobně.
Takže co je lepší? Založit projekt typu HTML5+CSS a pak díky nějaké fintě tady od Vás psát PHP soubory? Nebo založit projekt jako PHP a někde si do projektu natahat všechny ty Bootstrap CSS a JS soubory a vytvořit si vlastní šablonu projektu, kde už všechno bude?
Když vidím na videích, jak všichni snadno všechno dělají a jak jim funguje IntelliSense atd a já jak se trápím s vytvořením a zkoušením projektu na localhostu, tak jsem se rozhodl tady poprosit o radu.

Děkuji.
Petr V.

Zkusil jsem: - Založit projekt HTML5+CSS, ale tam nejde vytvářet PHP soubory.

  • Založit projekt PHP, ale tam zase není možnost (nenašel jsem) jednoduše přidat LESS/SASS, Bootstrap, jQuery atd.

Chci docílit: Získat v NetBeans možnost založit jednoduše HTML5+CSS projekt se všemi složkami včetně LESS/SASS a hlavně s možností netvořit *.html soubory, ale *.php

 
Odpovědět 8. října 17:19
Avatar
Jiří Svoboda:9. října 9:33

Zkusil bych dvě věci:

  1. klikni pravým na složku, ve které chceš mít php soubor. Najeď na new ->other a tam by sis mohl vybrat.
  2. klikni pravým na složku, ve které chceš mít php soubor. Najeď na new->empty file a u něj vypiš jméno tvůjSoubor.php
 
Nahoru Odpovědět 9. října 9:33
Avatar
Odpovídá na Jiří Svoboda
Petr Vavřinec:10. října 14:18

Ahoj Jiří.
Děkuji za reakci. Samozřejmě, že to jsem vyzkoušel i předtím, ale po tvé radě jsem to prošel znovu a pečlivěji.

ad 1) new -> other mi nenabízí možnost založit PHP soubor, protože taková šablona souboru prostě při založeném projektu HTML+JS není k dispozici
ad 2) a) čili se jeví jako jediná možnost new -> other -> other -> empty file, a potom určit příponou, že to bude PHP
ad 2) b) ale tím se samozřejmě vytvoří úplně čistý soubor bez jakýchkoli předem připravených řádků, třeba linky do bootstrapu atd.

Jasně, ale nakoplo mne to správným směrem, protože v tuto chvíli asi chápu, že je potřeba si vyrobit vlastní šablony projektů a vlastní šablony souborů, které pak budu mít k dispozici. Jen jsem prostě myslel, že kombinace HTML+JS+Bootstrap+CSS/LES­S/SASS+PHP bude natolik rozšířená "touha", že takové připravené šablony a jajich kombinace budou už v základu.

Jdu se ponořit do ukládání konfigurací NetBeans a tvorby šablon projektů a souborů. Přesto, kdyby někdo znal možnost, jak do vytvořeného projektu typu HTML+JS vynutit možnost přidat složku kategorie s PHP soubory (obrázek ad1...), byl bych vděčen.

Problém přidání Empty souboru s příponou PHP sebou nese i ten problém, že po kliknutí na něj pravým tlačítkem se v kontextu neobjeví možnost RUN, protože on ho prostě nechápe asi jako php exekuční soubor :-(

Třeba tady řeším věci, které jiní zvládají za dvě minuty při založení projektu, ale mně osobně to přijde jako užitečné, mít to všechno po založení k dispozici.

 
Nahoru Odpovědět 10. října 14:18
Avatar
Jiří Svoboda:10. října 15:37

Tak co to vytvořit jako PHP aplikaci? Tam pak jde vkládat cokoliv z tvého výčtu (js, sassy, html, xml, ...). Vnitřní strukturu si pak už upravíš jak budeš chtít...

 
Nahoru Odpovědět 10. října 15:37
Avatar
Michal Novák:10. října 16:45

Uč se dál, máš před sebou hodně dlouhou cestu. Motáš do sebe několik věcí dohromady. Píšeš, že se učíš PHP, ale dle všeho se chceš naučit používat i Bootstrap, jquery, SASS...

Jedna věc je psát PHP skripty a druhá věc je vyvíjet frontend. Dále pak komunikace přes API na nějaké vyšší úrovní také není úplně jednoduchá, takže další věc na učení - SOAP.

Přesně jsem nepochopil co je tvým cílem, ale vypadá to, že by ti stačilo naučit se s programem Bootstrap Studio (nejlépe z již existujících příkladů).

Ohledně toho CeSYS to zřejmě nebude tak snadné - bude to hodně drahé. Pochybuji, že by CeSYS uvolnil zdrojové kódy, takže se bude muset udělat aplikace na míru.

Editováno 10. října 16:48
 
Nahoru Odpovědět 10. října 16:45
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:11. října 8:03

Pokud je mozne pridat do stranky link na css nebo js script, tak muzes celou stranku prestavet. Puvodni vzhled te nemusi vubec zajimat. To si muzes presunout do skryteho divu, treba.

<script>
var x, body;
body = document.getElementsByTagName('BODY')[0];
x = body.innerHTML;
body.innerHTML = '<h1>moje nova stranka</h1>';
body.innerHTML += '<div style='display:none' id=old>'+x+'</div>';
window.title = 'moje nova stranka';
</script>
 
Nahoru Odpovědět 11. října 8:03
Avatar
Odpovídá na Peter Mlich
Petr Vavřinec:11. října 13:38

Vážený Peter Mlich.
Děkuju. To je samozřejmě možné a v mnohém i jediné řešení, protože, jak už jsem zmínil, nemám jinou kontrolu nad tím, co do prohlížeče nateče za data od CeSYSu. Má to ale několik drobných zádrhelů, které nesouvisí s tímto tématem, přesto je uvedu, abych ukázal, že nad tvým řešením přemýšlím a věnuju mu čas, stejně tak jako ty si věnoval čas té odpovědi:

  1. Asi je všem jasné, že napsat celý HTML kód jako stringy uvnitř JS skriptu není nic pohodlného a navíc při takovém psaní kódu editory kašlou na nějakou pomoc - vždyť je to vnitřek stringu, tak proč by pomáhaly! Používám tuhle techniku občas, ale NE na celý vnitřek dokumentu (včetně menu, headeru, footeru atd.), ale JEN od/v elementu, kde chci změnit pořadí a formu zobrazení detailu zájezdu nebo detailu hotelu. Abych nemusel dělat nějaké propojení přes API do jejich systému, napřed si z toho elementu "vyparsuju" pomocí JS ty důležité informace (jméno hotelu, termín zájezdu, typ stravování, datum odjezdu a příjezdu atd.) a ty pak použiju jinak v tom kódu, který tam naleju.
  2. Neřeším to, že uživatelé s JS zapnutým a/nebo vypnutým vidí něco jiného a ani nezjišťuju podíl lidí, kteří mají JS vypnutý. Odhaduji, že se blíží hodně nízkému číslu. Ale přiznám se, že mi připadá "zvláštní" nechat do prohlížeče natéct kompletně celý html kód od poskytovatele systému (CeSYSu) a pak ho kompletně přepsat něčím jiným. Protože z bodu 1) vyplývá, že musím nechat natéct původní HTML, abych z něho mohl vykousnout ta data, která potřebuji použít.
  3. Úplně blbé ale je, že nemám možnost vložit do stránky "libovolně dlouhý kód JS", protože mám prostě někde na backendu systému CeSYS kolonku, kam mohu přidat vlastní a krátký kód. Takže tam se mi vejde jen volání JS skriptu, který leží někde MIMO CeSYS. Nemohu totiž vložit samostatné *.js soubory na server (www.travelasap.cz) u CeSYSu, odkud se generují data. Takže mám *.js soubory uložené na jiném serveru u Forpsi (něco.travela­sap.cz). Což fungovalo jakž takž, než Google začal vynucovat HTTPS :-(
  4. Ačkoli si mohu zažádat o certifikát a na www.travelasap.cz zapnout SSL, výše uvedená komplikace s tím, že linky na JS skripty vedou na jiný server, mne dostala do potíží, kterou vyřešit neumím. Neboli certifikát nedostanu, pokud na serveru CeSYSu budu spouštět skripty uložené jinde. A skripty uložit na server CeSYSu mi oni nedovolí. Čili trošku začarovaný kruh. Asi bych měl být tvrdší při jednání s nimi, ale zase je chápu, že nemohou kvůli mým požadavkům úplně vybočit ze směru jejich vývoje vlastně "krabicového řešení", jen s jiným "ksichtem" pro každou cestovní agenturu.

Doufám, že jsem se vyjádřil pochopitelně. Víte, nejsem programátor. V rámci nějakých svých dovedností a svých "potřeb" umím napsat HTML+CSS stránku, použít Bootstrap pro responzivní web, vyplodit jednoduché JS nebo PHP scripty (určitě ne celé aplikace), rozchodit si XAMPP pro svoje pokusy na lokálu apod. Proto mi odpustťe neprofesionální vyjadřování.

 
Nahoru Odpovědět 11. října 13:38
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:11. října 14:19

Co se tyce zapisu js, jsou tam jiste komplikace, ale v celku jeste to jde napsat prehledne.

str = '\
\n            <div class="pull-right">\
\n              <div class="popover right" style="display:block; position:relative;">\
\n                <div class="arrow">\
\n                <\/div>\
\n                <div class="popover-content">\
\n                  <img src=".\/no_image.png">\
\n                <\/div>\
\n              <\/div>\
\n            <\/div>\
';

Https je mozna komplikace, ale jedine spravne reseni. Primitivni obrana (z doby kamenne) proti tomu, aby ti do kodu stranky nikdo nic nepodtrcil. Cim driv certifikat vyresis, tim lepe.

V pohode, to byl jen napad, jak se vyhnout php.
v php stranku nactes pres

str = file_get_contents(url);

Pak si to muzes pustit pres xml parser nebo dohledavat pres jine funkce.
Tvuj problem se podoba problemu, jak do layoutu tve stranky pridat informace o pocasi, ktere poskytuji jako xml soubor.
Ja to resim renderovanim do sablony, layoutu.

url  = 'neco';
tpl  = file_get_contents(url);
data = array('menu'=> 'html kod', 'pocasi'=>'...'); // nejakymi sctipty vygenerujes stringy
render(tpl, data); // a funkce renrer je jen jednoduche preg_replace, ktere nahradi '{menu}' za obsah data['menu']

Dokonce koukam, ze pouzivam str_replace

$keys = array_keys($row);
foreach($keys as $key=>$value)
        {
        $keys[$key] = "{".$value."}";
        }
return str_replace($keys, $row, $tpl);
Editováno 11. října 14:21
 
Nahoru Odpovědět 11. října 14:19
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.