22786
Html-, css- és php-help
  • MerlinW
    #21303
    Azt nem lehet, de nem is baj. Én a YTube embed-et is tiltanám nyers formájában.
  • Tyler1
    #21302
    Hát ez swf videó lenne, amihez html-ben tartozik a shockwave player, közvetlen url-ről nem tölti be.
  • SzirmosSzisza
    #21301
    Flash videót konkrétan be lehet szúrni a flash taggel, csak trükközni kell, mert általában az oldalak valami iframes cuccot adnak a megosztáshoz.
  • Tyler1
    #21300
    Ahha, tehát akkor ezt nem megvalósítható hozzászólásnál?
  • SzirmosSzisza
    #21299
    A kód makró csak kiemeli a beírt kódot, nem értékeli ki a böngésző.
  • Tyler1
    #21298
    Üdv! Itt sg-n a fórumban code makróval belehet szúrni html-ben flash videót?
  • vafeN
    #21297
    nemtom hogy miket enged pontosan a blog.hu de ha teljes html hasznalatat engedik, akkor csinalsz egy divet, es marginnal megadod neki hogy honnan kezdodjon.
    link
  • wiesztdani
    #21296
    Sziasztok!
    Készítek egy blogot a blog.hu-n. Próbálom testre-szabni, de ehhez html és css tudás szükséges. Sikerült a hátteret megváltoztatnom, és a fejlécet is. Csak a fejléc túl nagy lett, és az első bejegyzés a fejléc mögül indul.
    Nem szívesen kicsinyíteném meg a fejlécet, inkább a blogbejegyzéseket szeretném, hogy lejjebbről induljanak.
    Ezt meg lehet valahogy oldani?
    Előre is köszönöm a választ.
  • Bercy #21295
    Szerintem remek kezdemenyezes, en probalom tartani magam de a legacy kodok miatt neha nem megy (inkabb kovetem egy kodbazis adott stilusat, mert meg az is jobb, mint amikor valtakoznak a stilusok).
  • Malakai
    #21294
    Ja, hogy a php maga.
    De ahhoz meg már semmi köze annak, hogy előtte az twig/blade/volt/haml/akármi volt, vagy te magad írtad a php-t. :)
  • SzirmosSzisza
    #21293
    Most itt épp a PHP-ra gondoltam, mint szkript nyelv :)
  • Malakai
    #21292
    Milyen script nyelv?
    A compiler a template nyelvéből a szerver oldali nyelvre fordítja, azaz mondjuk php-re.
    Tehát pl ebből (twig):
    {% if user is defined %}
    <span>{{ $user->name }}</span>
    {% endif %}

    Ez lesz:
    <?php if (isset($user)): ?>
    <span><?php echo $user->name; ?></span>
    <?php endif; ?>
    És a cache miatt utána minden view lekérés már azt tölti be, nem az eredeti templatet. Ez csak egyszer fut le, amíg a fejlesztő meg nem változtatja a templatet.
  • SzirmosSzisza
    #21291
    Compiler az egy kérdés, de, ha maga a nyelv is lassú (szkript nyelvek pedig azok), akkor lehetnek problémák. Bár a cache tényleg csodákra képes!
  • Malakai
    #21290
    Sokat nem számít, hogyha egy szerver oldali compiler lassúcska, hisz azok a szerver oldali nyelv filejára fordítódnak, amit meg már lehet cachelni.

    A kliens oldalon már más tészta, nem véletlen, hogy nagy forgalmú oldalak is, mégha egy SPA, vagy aközeli appról is van szó, akkor is inkább küldi a kész html-t első betöltésre, aztán a kliens oldali MV* framework mondjuk inkább onnan veszi át a stafétát, ala basecamp, vagy twitter. Persze ez is csak egy megközelítés.
  • SzirmosSzisza
    #21289
    Gyagyi, nem gyagyi sose tudhatod mi vár az ügyfél szerverén :D

    #21287: ha érdekel olvass utána az MVC-nek, röviden annyi a lényege, hogy különválasztjuk a dolgokat, pl egy user lista generálásakor semmi keresnivalója nincs ott HTML-nek, hanem egy lista kell a userekről, amit aztán az említett templateben úgy használsz fel ahogy akarsz. Illetve, ha komolyabb logika van benne, akkor zavaró lehet a sok HTML kód között elnavigálni, mikor azoknak igazából nincs is ott keresnivalója. Persze ez csak egy megközelítés, illetve a template enginek nem is a gyorsaságukról híresek. (kerestem mostanában JS-hez is és a legegyszerűbb végül a string összefűzés lett nálam is:)
  • Malakai
    #21288
    Vagy távol tartod magadat a leggagyibb shared hostoktól. :)
    Jó, persze tudom, ebben nem feltétlen van választás. :)
  • Terensz
    #21287
    Ez nem az én napom :-)


    while....{
    $result .= '<span>'.$user->name.'</span><br />';
    }

    return $result;
  • SzirmosSzisza
    #21286
    Ellenben, ha máshol meg nincs bekapcsolva, akkor probléma lehet. Ha valamit meg lehet oldani kb 0 erőfeszítéssel úgy, hogy 100%, hogy megy, akkor szerintem érdemesebb úgy :)

    Vagy csinálni egy deploy kriptet ami kicseréli mindenhol a kicserélendőket :D
  • Terensz
    #21285
    Ha pl. egy mysql-ből kapott tömböt ki szeretném soronként írni, azt így tenném:
    [code=php]
    while....{
    $result .= '<span>'.$user->name.'</span><br />';
    }

    return $result;
    [/php]
    De a weboldal html alapja az nálam csak html. A megfelelő html-commentek helyére beszúrom a megfelelő php-vel összeütött részeket, amikor legenerálom az oldalt. Persze lehet, hogy rosszul teszem.

    A másik kérdésedhez nem tudok hozzászólni, mert annyira nem vagyok járatos a dolgokban.
  • Malakai
    #21284
    Egyáltalán nem baj, ha kikapcsolva hagyod, sőt, akkor már a fejlesztői környezetben is érdemes kikapcsolni.
    Használata szerintem egyetlen esetben indokolt, hogy ha egyéb template nyelv nélkülözésével a php-t akarod "template nyelvként" használni.
    Mert azért ez sokkal jobban néz ki:
    <span><?= $user->name; ?></span>
    Mint ez:
    <span><?php echo $user->name; ?></span>
  • Malakai
    #21283
    Egyébként erről az includeolgatásról juttot eszembe a PSR-4.
    És erről mégegy közvéleménykutatós kérdés. :)

    Mi a véleményetek a PHP-FIG kezdeményezésről?
    Tartjátok magatokat a PSR-ekhez? Ha igen, minden szintjét, szigorúan?

    Aki nem tudja miről van szó, olvasmány:
    php-fig.org
    php-fig/fig-standards
  • Terensz
    #21282
    Köszönöm. Azért nem akarom bekapcsolni, hogy ne fogadja el így, ütközzön ki, ha valami nem tökéletesen van a helyén, mert akkor egy másik szerveren lesz szívás belőle. Amúgy is mindig be van kapcsolva minden error_reporting, még csak egy apró reklamációt sem szeretnék a szervertől, akár egy nem definiált, de annyira nem is szükséges változó miatt sem :-)

    A mod_include.so csak egy tipp volt a többi mod mintájára, nem néztem meg, hogy van-e olyan.
  • Malakai
    #21281
    Php beállítás short_open_tag, a dev gépen be van kapcsolva (nem os függő).
    ui.: mod_include-nak nincs köze a php-s includehoz.
  • Terensz
    #21280
    És MEGVAN(!!4) a megfejtése a: rejtvénynek.

    1.: bocs, hogy f...sággal az időtöket raboltam.

    Tehát: a beinclude-olt php elején ennyi volt: <?, hiányzott a "php" a kérdőjel után... . Szerintem a közel 70 include közül kb 3-4 darabnál hiányozhat... Windows nem zavarta, itt meg nincs beállítva, hogy az ilyesmit elnézze.

    További jó, szívásmentes programozást kívánok mindenkinek :-)
  • Terensz
    #21279
    Először én is erre gyanakodtam. De mivel nem használok a filenevekben és a class-nevekben nagybetűt, valamint include-nál csak "fokonyvtar/alkonyvtar/alalkonyvtar/filenev.php" formátumot használok, így ez kilőve, mint magyarázat. Még a windows alól áthozott file-ok kódolása lehetne magyarázat, de ott mindent ANSI-ban mentettem el, semmilyen include-ban nincs ékezet. Ezért gondolok arra, hogy esetleg a szerveren valami hiányzik, mondjuk egy mod_include.so nincs meg, vagy nem jól működik, nem tudom.
  • Malakai
    #21278
    Itt már nem az include-al lesz a gond, annak mennie kell, márha megtalálja a filet. Op-rendszer beli eltérések ugye még lehetnek, mint a kis-nagy betű (unix alatt számít, win alatt nem) és a könyvtár elválasztó, amit Cat is linkelt.
  • Terensz
    #21277
    Itt sokminden van, a lényeg az, hogy HA az include sikerül (true), akkor példányosítja az include-hoz hasonló nevű class-t, ami nem jön össze. Mindez windows apache-on mindig is működött.
    Lehet, hogy nem jó verziót telepítettem, azon gondolkodom. Csak toltam egy sudo apt-get install apache2-t. De nem találtam jobb opciót.
  • Terensz
    #21276
    köszi, rájöttem közben :-)
  • Terensz
    #21275

    if( $this->include_file( $filePath , $filename ) === true )
    {
    $debugParamsArray['passed'] = 'OK';
    $debugParamsArray['msg'] = $filePath.$filename.'/'.$okText.' "'.$seoName.'"';
    $cl->addD( $debugParamsArray );
    $$className = new $seoName();
    $pageInfoArray = $$className->pageInfoArray();
    return true;
    }
    else
    {
    $debugParamsArray['passed'] = 'NO';
    $debugParamsArray['msg'] = $errorText.' "'.$seoName.'"';
    $cl->addD( $debugParamsArray );
    return false;
    }
  • Malakai
    #21274
    [[i][/i]code=php][/code]
  • Terensz
    #21273
    á, feladom...
  • Terensz
    #21272
    [ code ] nincs most a helyzet magaslatán... megpróbálom újra:


    if( $this->include_file( $filePath , $filename ) === true )
    {
    $debugParamsArray['passed'] = 'OK';
    $debugParamsArray['msg'] = $filePath.$filename.'/'.$okText.' "'.$seoName.'"';
    $cl->addD( $debugParamsArray );
    $$className = new $seoName();
    $pageInfoArray = $$className->pageInfoArray();
    return true;
    }
    else
    {
    $debugParamsArray['passed'] = 'NO';
    $debugParamsArray['msg'] = $errorText.' "'.$seoName.'"';
    $cl->addD( $debugParamsArray );
    return false;
    }
  • Terensz
    #21271
    Köszönöm szépen, ez most nem ad hibaüzenetet. Ennek ellenére az elvileg beinclude-olt file-ben lévő class-t nem tudom éldányosítani.

    if( $this->include_file( $filePath , $filename ) === true )
    {
    $debugParamsArray['passed'] = 'OK';
    $debugParamsArray['msg'] = $filePath.$filename.'/'.$okText.' "'.$seoName.'"';
    $cl->addD( $debugParamsArray );
    //itt a példányosítás, ami nem sikerül:
    $$className = new $seoName();
    $pageInfoArray = $$className->pageInfoArray();
    return true;
    }
    else
    {
    $debugParamsArray['passed'] = 'NO';
    $debugParamsArray['msg'] = $errorText.' "'.$seoName.'"';
    $cl->addD( $debugParamsArray );
    return false;
    }
  • Terensz
    #21270
    Köszönöm, de nem ez a gond.

    Ráadásul egy másik class is include-ol, ott viszont include('eleresi/ut')-tal tökéletesen működik, a lentebbi include-olós függvénbyem esetében az sem segít, ha manuálisan beírom az utat, nem változóként. De ha beírnám ezt: include('bakfitty'), akkor is azt írná: "...Filename cannot be empty in...". Linuxunk a fejébe vette, hogy hiába van bármi beleírva a function-be, az most üres.
  • Malakai
    #21269
    include egy "speciális" statement és nem function, a zárójel máshogy működik, nem paramétereket vár, hanem egyszerűen a zárójel alatti rész eredményét includeolja. Ennek eredménye, hogy a sorban a legutolsó bezáró zárójelig veszi alá.
    Lényegében include-nál hanyagold a zárójelezést.

    Tehát:
    if ( (include $fullPathToFile) == false ) { return false; } else { return true; }
  • SzirmosSzisza
    #21268
    Tippre: http://stackoverflow.com/questions/4178263/make-a-path-work-both-on-linux-and-windows
  • Terensz
    #21267
    Sziasztok!

    Egy picit zavar, hogy egy functionom hibátlanul lefut windows-os apache-on, linuxon pedig nem bírok vele órák óta.

    ez a function:
    <code>
    public function include_file($filePath , $fileName)
    {
    $fullPathToFile = $filePath.$fileName;
    echo $fullPathToFile.'<br />';
    if( include( $fullPathToFile ) == false ) { return false; } else { return true; }
    }
    </code>
    Az echo-t a teszt miatt tettem bele. Ez jön ki az egyészből:

    system/predefined_pages/assistant/maintenance.php

    Warning: include(): Filename cannot be empty in /var/www/teszt/tweteszt/system/engine/filehandler.php on line 170

    Azaz: ki"echo"zza, de amikor include-olni kellene, úgy viselkedik, mintha üres lenne a változó. Tudjátok esetleg a megoldást?
  • Jim Morrison
    #21266
    Megnyugtatlak nálam is így van :( sokszor anyázok is miatta :/
  • Dodo55
    #21265
    Őszintén: küzdök az elemekkel, hogy legyen időm és erőm foglalkozni vele :D

    Ez nálam amúgy valami állandó törvényszerűség, hogy ha van egy jó és megvalósítható ötletem, akkor az élet emel párat a nehézségi szinten a játékélmény fokozása érdekében
  • Jim Morrison
    #21264
    na, hogy haladsz? ^^