hlmod.hu
https://hlmod.hu/

mDisplay Class
https://hlmod.hu/viewtopic.php?f=114&t=30598
Oldal: 1 / 1

Szerző:  Maxi [ 2020.09.16. 16:24 ]
Hozzászólás témája:  mDisplay Class

Sziasztok! Egyre több olyan megkeresésem van, amelyben több nyelven működő oldalt kérnek, ezért írtam magamnak egy "motort" (Class-t), amivel megkönnyítem a magam dolgát. Ezt szeretném veletek megosztani.
A lényege annyi, hogy egy megadott .txt fájlból olvassa be az oldal részeit amelyeket több nyelven akarunk megjeleníteni. (A class másolható a végén)
Dokumentáció/Használat
A class-t tartalmazó file meghívása
Kód:
require_once 'mDisplay.php';

A class meghívása (Fontos:A paramétere a használni kívánt nyelvek rövidítése kötőjellel elválasztva pl. hu-en-es-fr) - Mindig az első az alapértelmezett ha később nem adjuk meg.

Kód:
$valtozo = new mDisplay("hu-en");

A txt fájlok elérési útjának beállítása, ha külön könyvtárba(mappába) vannak
Kód:
$valtozo -> _dir = "tutorial/";

A txt fájlok összefoglaló nevének beállítása
Kód:
$valtozo -> _file = "tutorial";

A class betöltése (Fontos:A paramétere a jelenleg használni kívánt nyelv legyen)
Kód:
$valtozo-> init('hu');


Txt fájlok létrehozása:
Hozzuk létre a megadott mappán belül a megadott nevű fájlokat az alábbi képpen - Ha a fenti példát nézzük akkor a tutorial mappába kell létrehoznom egy tutorial_hu.txt és egy tutorial_en.txt fájlt.

A txt fájlok felépítése:
KEYWORD:SENTENCE
KULCSSZO:MONDAT
Például:
tutorial_hu.txt ->
Kód:
HW:Helló világ!

Ugyan ezt hozzuk létre a másikba csak nyilván más nyelven írva:
tutorial_en.txt ->
Kód:
HW:Hello world!


Végül ezeket csak meg kell hívni a php fájlban az alábbi képpen:
Kód:
<p><?= $valtozo -> R("HW"); ?></p>


Output: Helló világ

*Megjegyzés: A szöveg tartalmazhat HTML Tag-eket, viszont fokozottan ügyeljünk arra, hogy azokat zárjuk le!

Egy komplett példa:

Kód:

<?php session_start(); ?>
<?php 
    if
(!isset($_SESSION["lang"])) 
        $_SESSION
["lang"] = "hu";
?>

<?php require_once 'mDisplay.php' ?>

<?php
    $mDisplay 
= new mDisplay("hu-en");
    $mDisplay -> _dir = "mDisplay/";
    $mDisplay -> _file = "example";
    $mDisplay -> init($_SESSION["lang"]);
?>

<?php
    if 
(isset($_GET["changelang"]))
    {
        if($_SESSION["lang"] == "hu")
            $_SESSION["lang"] = "en";
        else
            $_SESSION
["lang"] = "hu";
        header("Location: example.php");
    }
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><?= $mDisplay -> R("M_TITLE") ?></title>
</head>
<body>
    <p>
        <?= $mDisplay -> R("M_PARAGRAPH") ?>
    </p>
    <p>
        <?= $mDisplay -> R("M_PARAGRAPH2") ?>
    </p>
    <button type="submit"><?= $mDisplay -> R("M_BUTTON") ?></button>
    <div>
        <a href="example.php?changelang"><?= $mDisplay -> R("M_LINK") ?></a>
    </div>
</body>
</html>


example_hu.txt =>
► Spoiler mutatása


example_en.txt =>
► Spoiler mutatása


LIVE DEMO: Itt

Használjátok egészséggel, ha valamiben segíteni kell szívesen válaszolok privát üzenetben.


CLASS:
► Spoiler mutatása

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/