Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]System szablonów i pluginów.
Forum PHP.pl > Forum > Przedszkole
Fristajlos
Witam
Wpadłem na pomysł przy tworzeniu strony by zrobić system pluginów i szablonów.
Otóż mój pomysł jest następujący:
-Chiałbym zrobić stronę na której można by było wgrywać do folderu pluginy a w adminie je uaktywniać.
-Tak samo z szablonami tylko wgrywać do style (folder) i zmieniać w adminie.
Sam wykonałem już skypt na admina i większość strony ale chciałbym się dowiedzieć jak to zrobić macie jakieś pomysły sugestie?
Dziękuje i Pozdrawiam!
Fristajlos
Co?!
Xerox
Napewno odpowiedź na twoje pytania by pomogła innym i mi winksmiley.jpg
Plis wytłumacz to ktoś.
napstergucio124
Poco się walić z takim czymś...? Co ja bym zrobił to ściągnął jakiś CMS na licencji GNU i zmodyfikował go do moich potrzeb, lub zainstalować wtyczki które by pasowały do moich potrzeb i itp.. Jeżeli chodzi ci o wygląd to np.. zrobić własny szablon lub poprosić kogoś.
Fristajlos
Ale tak się uczę ;P
Już napisałem swoją klasę na system szablonów ale teraz czekam na pluginy -.- ale nie wiem jak dlatego pisze!
-ZIom-
Pomoże ktoś czy tego nie umiecie?;>
wipo
Ale sugestie odnośnie czego dokladnie?
Fristajlos
Bo możliwe że jest nie wykonalne..;/
Ale jak ktoś umii proszę by mi napisał jak. Na pewno przyda się to wielu osobom.
wipo
szablonu to mozesz uzyc smarty. mozesz tez napsiac swoja wersje
co do odnajdywania plikow czy katalogow to tez nie jest problem - poszukaj w google
Fristajlos
System szablonów już mam napisany z tutorialu.
Ale systemu pluginu nie mam;/ Bo nie mogę znaleźć a ni nikt nie może mi pomóc.
Bo to musiało by być takie coś wklejasz plik do plugins i to automatycznie wyszukuje menu.php i tworzy kategorie np dla kalendarza. :S Nie możliwe ale coś w tym rodzaju ktoś ma?
nick
no to nie powinno byc skompliowane


robisz w bazie table com_plugins z polami title, name, opis published

w admin panel wl/wyl poprzez published 0/1

ustawiasz domslny katalog na plugins np COM_PLUGINS_PATH = '/plugins' (plik config.php)

umieszczasz plik np /plugins/com_comments.php

a w nim jakas klasa rozszerzajaca domyslna np

class pluginsComments exteds plugins {

jakis kod...
...

}

klase pugins robisz laczac z frameworkiem ktory odpawiada za wszytsko inne (polaczenie z baza itd..)

Wszystko najlepiej wg. MVC

reszta to juz kwestia wyobrazni i umiejetnosci pozdr.
Fristajlos
A jakoś jaśniej się nieda?
Bo tego za bardzo nie skumałem tongue.gif
ayeo
Nie wiem czy dobrze rozumiem Twój problem... Twoja aplikacja powinna mieć jedem, powiedzmy, główny kontroler, przez który przechodzi każde żądanie. Robisz w nim metodę np plugin(). I akcję pluginu wywołujesz: www.serwis.pl/plugin/news/1 Czyli kontrolen stworzy obiekt News (plugin) i wywoła domyślną metodę z parametrem 1. Oczywiście musisz to dostosować do swoich potrzeb...
Fristajlos
Ale ja chce mieć cos podobnego do systemu mybb że wystarczy wrzucić do /plugins/ i w adminie pojawia się w liście info tej wtyczce i możliwość jej aktywacji.tongue.gif Ale jak zrobię takie coś że z pluginu wychodzi jeszcze menu do strony by pojawił się nowy link po aktywowaniu wtyczki to nie wiem;/
Nie mam na to pomysłu;/
ayeo
Przyjmij jakieś nazewnictwo klas pluginów np news.plugin.php i sprawdzaj zawartość katalogu plugins pod kątem takich plików i tyle. W bazie powinieneś mieś zapisane ścieżki i prawa dostępu. Nie wiem w czym jest problem. Trudniejsze to jest to co pisałem wcześniej czyli jak te pluginy mają współpracować z aplikacją chyba.

Pozdrawiam!
Fristajlos
No właśnie wyświetlanie pluginów i ich info jest łatwiejsza niż to jak mają współpracować..
Dajmy że mam taki skrypt:
  1. <?
  2. print("Ale fajny ten skrypt");
  3. ?>

I dajmy wyświetlanie plików z folderu:
  1. <?php
  2.  
  3. $folder = dir('gfx');
  4.  
  5. while($plik = $folder->read()) {
  6.  
  7. if (($plik != '.') AND ($plik != '..')) {
  8.  
  9.  $nazwa = pathinfo($plik);
  10.  $pliki[$nazwa['basename']] = $nazwa['extension'];
  11.  
  12.  $dodaj = true;
  13.  for($i=0;$i<count($typ);$i++)
  14. if ($typ[$i] == $nazwa['extension']) $dodaj = false;
  15.  
  16.  if ($dodaj == true) $typ[] = $nazwa['extension'];
  17.  }
  18.  
  19. }
  20.  
  21. $folder->close();
  22.  
  23. for($i=0;$i<count($typ);$i++) {
  24.  echo '<ul>'.$typ[$i];
  25.  foreach($pliki as $klucz => $wartosc)
  26. if ($wartosc == $typ[$i]) echo '<li><a href="' .$klucz. '">' .$klucz. '</a></li>';
  27.  echo '</ul>';
  28. }
  29.  
  30. ?>

Dalej to jak aktywować ten skrypt i by link do skryptu pojawił sie w menu (mysql) nie wiem jeszcze ;/.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.