Fristajlos
31.07.2008, 11:18:36
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
31.07.2008, 11:58:42
Co?!
Xerox
31.07.2008, 12:36:22
Napewno odpowiedź na twoje pytania by pomogła innym i mi

Plis wytłumacz to ktoś.
napstergucio124
31.07.2008, 18:49:09
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
31.07.2008, 20:25:47
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-
1.08.2008, 08:51:10
Pomoże ktoś czy tego nie umiecie?;>
Ale sugestie odnośnie czego dokladnie?
Fristajlos
1.08.2008, 09:34:42
Bo możliwe że jest nie wykonalne..;/
Ale jak ktoś umii proszę by mi napisał jak. Na pewno przyda się to wielu osobom.
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
1.08.2008, 09:50:23
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?
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
1.08.2008, 12:51:22
A jakoś jaśniej się nieda?
Bo tego za bardzo nie skumałem
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
1.08.2008, 13:18:13
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.

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;/
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
1.08.2008, 13:31:41
No właśnie wyświetlanie pluginów i ich info jest łatwiejsza niż to jak mają współpracować..
Dajmy że mam taki skrypt:
<?
print("Ale fajny ten skrypt"); ?>
I dajmy wyświetlanie plików z folderu:
<?php
while($plik = $folder->read()) {
if (($plik != '.') AND ($plik != '..')) {
$pliki[$nazwa['basename']] = $nazwa['extension'];
$dodaj = true;
for($i=0;$i<count($typ);$i++)
if ($typ[$i] == $nazwa['extension']) $dodaj = false;
if ($dodaj == true) $typ[] = $nazwa['extension'];
}
}
$folder->close();
for($i=0;$i<count($typ);$i++) {
foreach($pliki as $klucz => $wartosc)
if ($wartosc == $typ[$i]) echo '<li><a href="' .$klucz. '">' .$klucz. '</a></li>'; }
?>
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.