Skocz do zawartości
W Naszym sklepie znajdziesz wiele skinów do cs go, konkurencyjne ceny i natychmiastowa wysyłka to Nasza dywiza!
  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

Promowane odpowiedzi

Nazwa: PuzzlePage
Autor: Cuan
Tematyka: PHP framework

 Napisałem sobie ten framework, gdyż dawno nic nie pisałem w PHP i się za nim stęskniłem. Może się on komuś przyda, a może nie. Jego celem jest układanie kodu HTML i CSS strony z poziomu PHP. A może ktoś przerobi go sobie na system szablonów.
Screen/Live Demo: KLIK

Licencja: MIT
Download: puzzlepage.rar

Dokumentacja: 

 

1. Zaczynamy!

Dołączamy framework do naszego skryptu

require_once('PuzzlePage.php');

i rozpoczynamy pracę na nim:

$PP = new PuzzlePage($title, $charset='utf-8', $lang=false, $doctype='html');

$title - tytuł strony.

$charset - kodowanie znaków, domyślanie utf-8.

$lang - język strony (dla znacznika html), np. "pl", domyślnie brak.

$doctype - typ dokumentu, domyślnie html.

obowiązkowe | nieobowiązkowe

np.

$PP = new PuzzlePage('Moja pierwsza strona WWW');

2. Zarządzanie elementem!

Tworzenie elementu:

$element= $PP->createElement($name, $content='', $attr=false, $id=false);

$name - nazwa elementu, np. div.

$content - treść, możesz do niej wkleić inny element, np. 'Treść... '.$other_element, domyślnie brak.

$attr - atrybuty elementu, np. array('data-content' => 'attr content'), domyślnie brak.

$id - id elementu, domyślnie brak.

obowiązkowe nieobowiązkowe

np.

$li = $PP->createElement('li', 'element listy');
$ul = $PP->createElement('ul', $li);

Ostylowanie elementu:

$element->style($core, $attr, $v=false);

$core - rdzeń frameworka, w powyższych przykładach $PP

$attr - css, np. array('color' => '#00f'), domyślnie brak.

$v- wartość dla podanego atrybutu, domyślnie brak.

obowiązkowe nieobowiązkowe

np.

$element->style($PP, 'color', '#f00');
//lub
$element->style($PP, array(
 'color'=>'#f00',
 'background' => '#0f0'
));

Dodanie klasy do elementu:

$element->addClass($class);

$class - dodawana klasa.

 

Dodanie treści/elementów do elementu:

$element->addContent($content);

$content - treść.

 

 

 

3. Tworzenie źródła!

źródło - input, link, script, img itp.

$PP->createSource($type, $name, $content='', $attr=false, $id=false);

$type -  true = zamykane (np. <script></script>), false = nie zamykane (np. <input />).

$name - nazwa źródła, np. img.

$content - treść, np. 'alert(1); '.

$attr - atrybuty źródła, np. array('rel' => 'stylesheet', 'href' => 'index.css'), domyślnie brak.

$id - id źródła, domyślnie brak.

obowiązkowe nieobowiązkowe

 

 

4. Ostylowanie dowolnego elementu!

$PP->style($element, $attr, $v=false);

$element - klasa/id/tag(nazwa) elementu

$attr - css, np. array('color' => '#00f'), domyślnie brak.

$v- wartość dla podanego atrybutu, domyślnie brak.

obowiązkowe nieobowiązkowe

 

 

5. Dodanie elementu do ciała strony!

$PP->add($element);

$element - dodawany element (zmienna przechowująca go).

np.

$PP->add($header);

6. Wyświetlenie strony!

echo $core;

$core - rdzeń frameworka, w powyższych przykładach $PP

 

 

7. Przykład budowy strony!

<?php
require_once('PuzzlePage.php');
$PP = new PuzzlePage('Moja pierwsza strona, stworzona przy użyciu PuzzlePage!', 'utf-8', 'pl');
$PP->style('body', array(
	'width' => '100%',
	'background' => '#f0f0f0',
	'font-family' => 'Open Sans, sans-serif'
));
$header = $PP->createElement('header');
$header->style($PP, array(
	'margin' => '0 auto',
	'width' => '100%',
	'max-width' => '1200px',
	'background' => '#fafafa',
	'padding' => '80px 10px',
	'box-sizing' => 'border-box',
	'box-shadow' => '0 0 4px #81cfe0'
));
$page_title = $PP->createElement('h1', 'Tytuł Strony');
$header->addContent($page_title);
$main = $PP->createElement('main', 'Przykładowa treść...', 0, 'page_content');
$main->style($PP, array(
	'margin' => '0 auto',
	'width' => '100%',
	'max-width' => '1200px',
	'min-height' => '400px', 
	'background' => '#fafafa',
	'padding' => '8px',
	'box-sizing' => 'border-box',
	'border-top' => '4px solid #81cfe0',
	'box-shadow' => '0 0 4px #81cfe0'
));
$main->addClass('przykladowo_dodana_klasa');
$google_font = $PP->createSource(0, 'link', '', array(
	'rel' => 'stylesheet',
	'href' => 'http://fonts.googleapis.com/css?family=Open+Sans:300,400,600&subset=latin,latin-ext'
));
$PP->add($header.$main);
$PP->add($google_font);
echo $PP;
>

8. Konfiguracja.

private $config = array(
	'cache' => true,
	'start_css' => '*{margin:0;padding:0;border:none;}*:focus{outline:none;}',
	'css_path' => ''
);

cache - zapamiętywanie szablonu CSS, podczas jego tworzenia, należy zmienić na false.

start_css - początkowy CSS

css_path - ścieżka do CSS, powinna kończyć się na / lub zostać pusta (w przypadku, gdy css znajduje się w tym samym katalogu).

  • Lubię to! 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

  • Podobna zawartość

    • Przez AnTive Design
      Witam mam problem z własnymi statusami serwerów a mianowicie wywala mi mnóstwo błędów lub nie wczytuje w ogóle statusu. Będę wdzięczny jeśli będzie ktoś w stanie mi pomóc.
       
      Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; HLSocket has a deprecated constructor in /home/p4XWW8/public_html/status/Generator/status/status/class.hlsocket.php on line 29 Warning: Cannot modify header information - headers already sent by (output started at /home/p4XWW8/public_html/status/Generator/status/status.php:1) in /home/p4XWW8/public_html/status/Generator/status/status.php on line 80 �PNG � IHDR�h���X��� IDATx��|yxUE�着=�)s ! aT� ��-��-��(��l�����hP�*�ᢀ�6^E��񉈠�xՇ���("2�����BH�p��y�5�? v��ZE[o�}... http://status.izba-przyjec.eu/Generator/generator.php
       
      Generator nie wyświetla statusu
       
      Pozdrawiam AnTive 
    • Przez Grzegorz
      Dobra znowu mam problem, edycja działa mi tylko jak dam dane "statyczne" id. Lecz próbowałem zrobić żeby wraz z wybranym rekordem wybierało mi automatycznie id. 
      Metodą get pobrałem z innej strony dane "id" rekordu które edytuje  lecz nie potrafie je wrzucić do if'a z metodą POST.
      Z góry przepraszam za kolejny temat ale jedno działa a potem reszta już nie.
      <?php error_reporting(0); require_once "connect.php"; if($_POST['Obraz_Produktu'] !=""){ $polaczenie = mysqli_connect($host , $db_user , $db_password , $db_name) or die ("Brak połączenia z bazą"); $opis = $_POST['Opis_Produktu']; $cena = $_POST['Cena_Produktu']; $nazwa = $_POST['Nazwa_Produktu']; $ida = $_POST ['Id_Produktu']; $kategoria = $_POST ['Kategoria']; $obraz = $_POST ['Obraz_Produktu']; mysqli_query($polaczenie , "UPDATE produkty SET Opis_Produktu='$opis', Cena_Produktu='$cena', Nazwa_Produktu='$nazwa', Id_Produktu='$ida', Kategoria='$kategoria', Obraz_Produktu='$obraz' WHERE id= /* TU MA POBIERAĆ ID */"); echo mysqli_error($polaczenie); } $id = $_GET['edytuj']; /* POBIERANIE GET REKORDU EDYTOWANEGO */ $rezultat = mysqli_query($polaczenie, "SELECT * FROM produkty WHERE id = '" . $id . "'"); $produkty = mysqli_fetch_array($rezultat); ?>  
    • Przez Grzegorz
      Witam mam pytanie co jest nie prawidłowe w tym kodzie? Pytam bo wyskakują mi takie błędy: Notice: Undefined index: nazwa in C:\xampp\htdocs\sylwia\panel\addpanel.php on line 38
      <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="style.css" type="text/css" /> </head> <body> <form action="addpanel.php" method="POST"> <fieldset> <legend>Wstaw Produkt</legend> Nazwa Produktu<br> <input type="text" name="nazwa"> <br> Opis Produktu<br> <input type="text" name="opis"> <br> Cena Produktu<br> <input type="text" name="cena"> <br> Id Produktu<br> <input type="text" name="id"> <br> Kategoria<br> <input type="text" name="kategoria"> <br> Nazwa obrazu<br> <input type="text" name="obraz"> <br> <br> <input type="submit" value="wyślij"> </fieldset> </form> <?php $nazwa = $_POST["nazwa"]; $opis = $_POST['opis']; $cena = $_POST['cena']; $id = $_POST['id']; $kategoria = $_POST['kategoria']; $obraz = $_POST['obraz']; $dbc = mysqli_connect("localhost", 'root', '', 'gifthaft') or die ("Brak połączenia z bazą danych"); $query = "INSERT INTO produkty(Opis_Produktu, Cena_Porduktu, Nazwa_Produktu, Id_Produktu, Kategoria, Obraz_Produktu) VALUES ('$opis', '$cena', '$nazwa', '$id', '$kategoria', ' $obraz')"; $result = mysqli_query($dbc, $query) or die ("Błąd przy wstawianiu danych do tabeli w bazie"); mysqli_close($dbc); ?> </body> </html>  
    • Przez Luqa
      Witam, mam problem ponieważ posiadam ten szablon:
      i chciałbym mu dodać belki graficzne które były by w image jak w innych szablonach a za bardzo nie wiem jak to zrobić, ten styl niestety posiada belki na kodzie i chciałbym je zamienić na graficzne, proszę o pomoc z góry dzieki !
×