mam problem : mam skrypt w php'ie i chciałbym go wstawic do joomli jako komponent ( nie jako content) :rolleyes:. Nie mam kompletnie pojecia jak to zrobic :confused:.
Sova
27-04-2007, 23:35
Wszystko zależy co to za skrypt... Można stworzyć normalną stronę i wyświetlić to w Joomla! we wrapper'ze
mlody2
28-04-2007, 00:38
Wszystko zależy co to za skrypt... Można stworzyć normalną stronę i wyświetlić to w Joomla! we wrapper'ze
nie chce uzywac ramek ... Wrapper odpada... :(
Sova
28-04-2007, 10:19
Napisać komponent, albo to komuś zlecić - skoro nie chcesz tego wstawiać w artykuł.
flashmaniak
28-04-2007, 10:45
apropo napisal ktos wlasny komponent ?
mlody2
28-04-2007, 10:49
Napisać komponent, albo to komuś zlecić - skoro nie chcesz tego wstawiać w artykuł.
A jest gdzies jakis tutorial jak to zrobic ? Bo w wstawiać to w content - to bedzie z tego artykul ( i bedzie sie wyswietlal w "ostatnich wiadomosciach" - a chce tego uniknac.). Poza tym bawiłem się już z tym (tj. instalowanie botów kl_php, wylaczenie edytora WYSiWYG itd. ) i nie uzyskalem efektu jakiego sie spodziewalem.:confused:
Myslalem, zeby zrobic to tak jak z wlasnym modulem ( bierzesz najprostszy modul i przerabiasz go na wlasny - to bylo proste , bo znalazlem gdzies tutorial jak to zrobic )
mlody2
28-04-2007, 16:49
apropo napisal ktos wlasny komponent ?
Coś próbuje tworzyć jednak nie jest to tak proste jak z własnym modułem. Może ktoś by napisał jakiegoś tutoriala jak stworzyć komponent dla kodu php ?....
zwiastun
28-04-2007, 17:33
Co to znaczy wstawić skrypt php jako komponent? Nie bardzo rozumiem.
Jeśli to ma być odrębna jakas pozycja menu, nie musi być wkładany do artykułu, mozna zastosować materiał statyczny
{mosldposition nazwapozycji} - cała treść materiału
Do osadzenia użyć bota - jest ich kilka
Drugie rozwiązanie to podpowiedziany przez Sovę wraper.
Trzeciego - komponentu który umieści w komponencie!!!!!!!!!!!!!!! skrypt nie ma.
Można ten skrypt przerobić na komponent do Joomla!. Opis tworzenia komponentu jest na joomla.pl/pomoc
mlody2
28-04-2007, 19:55
Co to znaczy wstawić skrypt php jako komponent? Nie bardzo rozumiem.
Jeśli to ma być odrębna jakas pozycja menu, nie musi być wkładany do artykułu, mozna zastosować materiał statyczny
{mosldposition nazwapozycji} - cała treść materiału
Do osadzenia użyć bota - jest ich kilka
Drugie rozwiązanie to podpowiedziany przez Sovę wraper.
Trzeciego - komponentu który umieści w komponencie!!!!!!!!!!!!!!! skrypt nie ma.
Można ten skrypt przerobić na komponent do Joomla!. Opis tworzenia komponentu jest na joomla.pl/pomoc
Dzięki Zwiastun - pomogło!:). Zrobiłem tak jak napisałeś - wgrałem jako moduł a potem osadziłem w materiale statycznym botem:D. Tylko dziwne bo tabela wyświetla się dwa razy ( jedna pod drugą ) a powinna tylko raz:confused:. Wiesz może o co chodzi ? jak zrobić żeby wyświetliła się tylko raz ? Skrypt jest dobrze napisany bo jak wrzucę na serwer to wykonuje się tylko raz , a przez joomla dwa razy.
zwiastun
28-04-2007, 22:34
Gdyby jeszcze ktokolwiek wiedział, o czym piszesz
Sova
29-04-2007, 23:15
apropo napisal ktos wlasny komponent ?
Tak, tu masz przykład funcjonowania:
http://www.joomla.pl/index.php/index.php/component/option,com_josresource/Itemid,56/
wgrałem jako moduł a potem osadziłem w materiale statycznym botem
Fantastico...
:D
devphyl
10-07-2007, 14:18
piszecie, ze mozna to wstawic jako artykul statyczny
albo wlozyc do wrapera
czy tez skontruowac jakis z link do naszego pliku
a co jesli nasz plik posiada linie:
defined( '_VALID_MOS' ) or die( 'Restricted access' );
bo nie chcemy, zeby byl uruchamiany samodzielnie, tylko wylacznie przez joomle
wowczas powyzsze porady nie zadzialaja.
mam wlasnie taki plik php (mini komponent) i chce go podlinkowac pod joomle
w jaki sposob ?
powiedzmy, ze bedzie to kolejna pozycja dla usermenu, a komponent bedzie widoczny tylko dla uzytkownikow ze specjalnymi prawami (acl)
no wlasnie tylko ta linijka defined( '_VALID_MOS' ) jest mi potrzebna do szczescia - bo komponent dziala na bazie i nie moze byc uruchomiony samodzielnie.
jest jakis bot do tego?
ewentualnie jak to samemu dodac do kodu ?
zwiastun
11-07-2007, 03:21
zwał sobie jak chciał, choć oczywiście, to nie tak, bo wiadomo, co komponent, a co moduł.
Jeśli jest to skrypt, który ma być obsługiwany przez Joomla!, to musi być na tyle zintegrowany z Joomla!, żeby mógł być obsłużony. Jedna linia nie wystarczy. Opis (PO POLSKU) tworzenia komponentu co prawda do Mambo, ale poza szczegółami różnic mnie ma - jest tutaj:
http://www.pomoc.joomla.pl/content/view/67/30/
daniofantasy
18-02-2008, 05:11
Jeżeli chodzi o wstawianie kodu php do joomli to zamiast kombinować na wszystkie strony, najłatwiej jest zrobić z niego komponent - jak to zrobić, tak jak powiedział zwiastun, jest dokładnie opisane w pomocy joomli - i w dodatku po polsku. Aby to zrobić jest wymagana podstawowa wiedza o programowaniu w php i jestem pewien, że każdy, kto taką elementarną wiedzę posiada, da sobie z tym radę. a robi się to tak:
Do każdego pliku z kodu w php, powinna być dodana linia:
// CHECKING FOR PERMISSION TO ACCESS FILE
defined ('_VALID_MOS') or die ('Direct Access to this location is not allowed');
Robi się to po to, aby nie obniżyć poziomu bezpieczeństa kodu joomli. Następną rzeczą jest zrobienie instalatora i dezinstalatora komponentu (opisane w pomocy). I do tego wszystkiego należy stworzyć plik XML, który będzie tworzył tabele, używane przez kod php w bazie danych joomli i instalował pliki komponentu w odpowiednie miejsce. Jak go zrobić jest również bardzo ładnie opisane w pomocy (ewentualnie można podejrzeć jeszcze pliki XML wersji instalacyjnych innych komponentów.
I w tym momencie komponent zaczyna działać. Jeżeli ktoś chce mieć do niego administracje (lub ma własną, tylko chce, aby działała pod joomlą), to pliki które mają znajdować się w adminie dorzuca do instalatora w XMLu między tagi <administration> i </administration> analogicznie, jak dla plików użytkownika. Tutaj jedna uwaga - pliki w adminie muszą nazywać się w inny sposób, jak dla części usera - bo inaczej instalator je nadpisze. Aby ponownie nie naruszyć bezpieczeństwa joomli, oprócz wcześniej wspomnianej w moim poście linii kodu należy dodać kolejną, sprawdzającą prawa użytkwonika do przeglądania tej części administracji:
// ENSURE USER HAS ACCESS TO THIS FUNCTION
if (!($acl->acl_check('administration','edit','users',
$my->usertype,'components','all')
| $acl->acl_check('administration','edit','users',
$my->usertype, 'components','com_newsfeeds'))) {
mosRedirect('index2.php', _NOT_AUTH);
}
Ok - w tym momencie administracja działa. Teraz pozostaje ostatni problem - przechodzenie pomiędzy podstronami serwisu. W joomli realizowane jest ono przez element zmiennej tablicy serwerowej $_SERVER['QUERY_STRING'] oraz element tablicy $_GET['option'] Używając tych dwóch zmiennych razem z $PHP_SELF spokojnie wystarczy, żeby zrobić sprawne przechodzenie pomiędzy kolejnymi podstronami kodu, podmieniając urle w nim zawarte na utworzony przez nas ciąg. U mnie działa to w następujący sposób:
Po takich zabiegach można przerobić dowolną aplikację, napisaną w php, aby działała pod joomlą. Jeżeli ktoś chce, to mogę się podjąć takiej przeróbki (oczywiście odpłatnie) i zmusić praktycznie każde oprogramowanie, aby działało pod joomlą. Kontakt do naszej firmy znajduje się na stronie www.alien.net.pl (http://www.alien.net.pl)