Tworzenie własnego modułu.
Wyniki 1 do 7 z 7

Temat: Tworzenie własnego modułu.

  1. #1
    Nowicjusz
    Dołączył
    17-11-2006
    Wpisy
    11
    Punkty
    10

    Domyślny Tworzenie własnego modułu.

    Witam,

    chciałbym stworzyć własny moduł wyświelający daną treść - dla użytkowników zalogowanych, a inną dla niezalogowanych, jak to zrobić? Ewentualnie jak dodać moduł, który nie będize się wyświetlał po zalogowaniu użytkownika.

    Przykład:
    Niezalogowanym wyświetlany jest tekst: "Żeby ściągnąć plik musisz się zalogować"
    Po zalogowaniu: "Ściąnij plik, link: www.xxxxxxx.pl"

    Z góry dzięki za pomoc.

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Nowicjusz
    Dołączył
    17-11-2006
    Wpisy
    11
    Punkty
    10

    Domyślny

    I jeszcze jedno pytanie, co zrobić aby moduł był wyświetlany tylko w artykułach z danej sekcjii?

  4. #3
    Ten Niedobry Rybik awatar
    Dołączył
    26-09-2005
    Skąd
    Gliwice
    Wpisy
    2 179
    Punkty
    70
    /components/com_content/content.php dla wersji 1.0.10 po wgraniu łatek

    1. odnalezc funkcje showItem
    2. dopisac kod ktory podalem w ponizszym listingu (nie caly oczywiscie tylko to skomentowane od START do END, umiescilem 2 "funkcje" pierwsza zbiera nazwe a druga id (krotsza, mniejsze ryzyko wysypki)

    Kod PHP:
    function show$row$params$gid, &$access$pop$option='com_content'$ItemidCount=NULL ) {
     global 
    $database$mainframe;
     global 
    $cache;
     
    $noauth = !$mainframe->getCfg'shownoauth' );
     
     
    /* spy for section name by rybik START */
     
    $section_r = new mosSection$database );
     
    $section_r->load($row->sectionid);
     
    $_SESSION['nazwa_sekcji'] = ($section_r->title);
    /* spy for section name by rybik END */ 
     
    /* spy for section id by rybik START */
     
    $_SESSION['numer_sekcji'] = $row->sectionid;
    /* spy for section id by rybik END */ 
    od teraz w pliku index.php naszego szablonu mamy do dyspozycji 2 zmienne
    $_SESSION['nazwa_sekcji'] i $_SESSION['numer_sekcji']

    i mozemy uzaleznic ladowanie jakiejs pozycji modulow od tej zmiennej lub w samym module sprawdzac jej wartosc

    dziala wszedzie gdzie widac artykul , pojedynczy albo blog oczywiscie jak mamy artykuly z roznych sekcji to kazdy kolejny nadpisze poprzednika, wiec wartosci beda prawidlowe tylko dla ostatniego z nich (nie chcialo mi sie robic tablicy )

    madrzejszym sposobem byloby napisanie content-bota ktory tworzy w zmiennej sesji tablice sekcji/numerow dla wszystkich aktualnie pokazanych artykulow i potem obsluga tego w module ale ... to juz troche wiecej zabawy, jakby sie komu chcialo to wyglada to tak:
    znajdujemy prostego bota operujacego przed wyswietleniem tresci (onPrepareContent) - np mosloadpositions, preparujemy instalke pod inna nazwa, sprawdzamy poprawnosc instalacji/deinstalacji, po zainstalowaniu grzebiemy na zywym organizmie
    wypruwamy bota z funkcji pozostawiajac tylko wczytanie zmiennych globalnych, szczypczykami przez nosek wywlekamy numer id aktualnego artykulu (chwilowo brak pomyslu jak ), po zaintubowaniu bazy danych sondujemy numer sekcji naszego arta i szukamy nazwy w tabeli jos_sections pod wskazanym numerkiem, nazwe hibernujemy w $_SESSION['nazwy_sekcji'], najlepiej wpostaci tablicy gdzie kolejne artykuly beda dopisywac swoje sekcje, zrecznie unikajac zdublowanych wpisow, potem w templaku bedzie mozna sprawdzic (if in_array('szukana nazwa sekcji',$_SESSION['nazwy_sekcji'])

    rozwiazanie z botem jest korzystne bo mozna bez grzebania w kodzie wladowac to w dowolna joomle i nie martwic sie upgradami

    rozwiazaniem najbezpieczniejszym jest ten jednolinijkowy wpis pobierajacy numer sekcji

    pytania ?

  5. #4
    Nowicjusz
    Dołączył
    17-11-2006
    Wpisy
    11
    Punkty
    10

    Domyślny

    A co do pierwszego pytania... Czy da się zrobić coś takiego aby moduł nie wyświetlał się zalogowanym użytkownikom?

  6. #5
    Ten Niedobry Rybik awatar
    Dołączył
    26-09-2005
    Skąd
    Gliwice
    Wpisy
    2 179
    Punkty
    70

    Domyślny

    google->moshidefrom

  7. #6
    Nowicjusz
    Dołączył
    17-11-2006
    Wpisy
    11
    Punkty
    10

    Domyślny

    świetnie, dokładnie o to mi chodziło!

  8. #7
    Ten Niedobry Rybik awatar
    Dołączył
    26-09-2005
    Skąd
    Gliwice
    Wpisy
    2 179
    Punkty
    70

    Domyślny

    nie wiem jak teraz z obsluga botow w modulach, zdajesie ze jest ale jakbys mial klopoty to poczytaj o botach mosif

    http://forum.joomla.org/index.php?topic=21743.msg223215

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •