Skocz do zawartości


- - - - -

ipsclass


33 odpowiedzi w tym temacie

#1 Batman

  • Użytkownik
  • 491 postów
  • Wersja:IP.Board 3.1.2

Napisano 13 kwiecień 2009 - 21:18

Mam pytanie w jaki sposób poruszać się przy pomocy ipsclass?

zrobiłem sobie pliczek dajmy na to a.php zrobiłem w nim klasę i w tej klasie zrobiłem różne funkcje, dodałem klasę do index.php

i za pomocą linków mogę uruchamiać funkcje, ale teraz chciałbym np. odwołać się do załadowanego skina w moim pliku z innego pliku lub z innego pliku chciałbym odwołać się do funkcji w moim pliku .

$this->ipsclass->compiled_templates['jaks_tam']->lala($dodo);
to zadziała w moim pliku ale nie zadziała już w innym

muszę jakoś podłączyć się do ipsclass ale nie wiem jak

Dołączona grafika


#2 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49505 postów
  • Wersja:IP.Board 3.2.3

Napisano 13 kwiecień 2009 - 21:32

Dla przykładu z ładowaniem języka:
chdir( './sources/api' );
require_once( 'api_core.php' );
$api = new api_core();
$api->api_init();

$api->ipsclass->load_language( 'lang_global' );

Albo:
$INFO = array();

require_once ROOT_PATH . 'sources/ipsclass.php';
require_once ROOT_PATH . 'conf_global.php';

$ipsclass	   = new ipsclass();
$ipsclass->vars = $INFO;

$ipsclass->init_db_connection();

$ipsclass->parse_incoming();


				$ipsclass->DB->simple_construct( array( 'select'	=> '*',
														'from'		=> 'groups'
													   ) );
				$ipsclass->DB->simple_exec();
				
				while( $x = $ipsclass->DB->fetch_row() )
				{
//
}


Do wyboru do koloru, w razie problemów pisz. :)
intermedia - profesjonalne rozwiązania Invision Power Board

#3 Batman

  • Użytkownik
  • 491 postów
  • Wersja:IP.Board 3.1.2

Napisano 13 kwiecień 2009 - 21:55

nie łapie , z tego by wynikało ze za każdym razem trzeba mu podawać ścieżkę do tego mojego pliku?

Dołączona grafika


#4 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49505 postów
  • Wersja:IP.Board 3.2.3

Napisano 13 kwiecień 2009 - 21:58

To teraz ja nie łapię, co dokładnie chcesz zrobić. Możesz wytłumaczyć inaczej?
intermedia - profesjonalne rozwiązania Invision Power Board

#5 Batman

  • Użytkownik
  • 491 postów
  • Wersja:IP.Board 3.1.2

Napisano 13 kwiecień 2009 - 22:16

zrobiłem nowy plik nazwijmy go mod.php wstawiłem go do sources/action_public w tymże pliku zrobiłem klasę nazwijmy ją modyfikacja w pliku index.php dodałem klasę modyfikacja do $choice,

następnie w pliku tym dodałem funkcję auto run w której dałem instrukcje swith i załadowałem pliki językowe oraz całą grupę skina, dalej pododawałem sobie jakieś tam funkcje .

używając odpowiedniego linku mogę sobie wywołać te funkcje, ale potrzebuję teraz wywołać z pliku np. topic.php : $this->ipsclass->compiled_templates['moja grupa skina']->nazwa_funkcji($costam);
jak wstawię taką instrukcję w topic.php wywala mi błąd ze odwołuję się do nieznanej funkcji "nazwa_funkcji" muszę mu w pliku topic.php dać linijkę z ładowaniem skina wtedy działa , ale ja już przecież załadowałem tego skina w swoim pliku
dodatkowo chciałbym się odwołać w tym(topic.php lub jakimkolwiek innym) pliku do funkcji która znajduje się w moim pliku mod.php czyli $this->ipsclass->moja klasa???->moja_funkcja() (pewnie jakoś tak)

Dołączona grafika


#6 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49505 postów
  • Wersja:IP.Board 3.2.3

Napisano 13 kwiecień 2009 - 22:28

Skin jeśli nie jest załadowany to należy to załadować - nie bardzo widzę sens obejścia tego.
Załadowałeś w swoim pliku, ale nie w tym, co się odwołujesz.

Ładowanie klas IP.Board najłatwiej zrobić tak:
$check = $this->ipsclass->load_class( ROOT_PATH.'sources/lib/nazwa_pliku.php', 'nazwa_klasy' );
$check ->nazwa_funkcji();

intermedia - profesjonalne rozwiązania Invision Power Board

#7 Batman

  • Użytkownik
  • 491 postów
  • Wersja:IP.Board 3.1.2

Napisano 13 kwiecień 2009 - 22:44

DawPi ok ale w takim razie w jaki sposób w pliku topic.php mamy odwoływanie się do skinów mimo że nie są w tym pliku ładowane tylko klasa (globalna?)$ipsclass łączy to wszystko czy zatem nie należało by się podpiąć jakoś pod $ipsclass ? tak samo jak bierzesz ustawienia z tool&settings :$this->ipsclass->vars['jakiś klucz'] nawet w gołym pliku w componets_public (w klasie)i nic nie ładujesz dodajesz tylko: var $ipsclass

Dołączona grafika


#8 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49505 postów
  • Wersja:IP.Board 3.2.3

Napisano 13 kwiecień 2009 - 22:54

Jakże nie są ładowane:
	function topic_init( $load_modules=0 )
	{
		//-----------------------------------------
		// Memory...
		//-----------------------------------------
		
		$_before = $this->ipsclass->memory_debug_make_flag();
		
		//-----------------------------------------
		// Compile the language file
		//-----------------------------------------
		
		$this->ipsclass->load_language('lang_topic');
		$this->ipsclass->load_language('lang_editors');
		$this->ipsclass->load_template('skin_topic');

Inaczej możesz dodać jakaś funkcję w pliku ipsclass.php i potem w dowolnym miejscu korzystać z $this->ipsclass->ta_nazwa_funkcji().
intermedia - profesjonalne rozwiązania Invision Power Board

#9 Batman

  • Użytkownik
  • 491 postów
  • Wersja:IP.Board 3.1.2

Napisano 13 kwiecień 2009 - 22:54

no ok skiny akurat :) a jak działają klucze z tool&settings?

Dołączona grafika


#10 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49505 postów
  • Wersja:IP.Board 3.2.3

Napisano 13 kwiecień 2009 - 22:57

$this->ipsclass->vars['nazwa'];

intermedia - profesjonalne rozwiązania Invision Power Board

#11 Batman

  • Użytkownik
  • 491 postów
  • Wersja:IP.Board 3.1.2

Napisano 13 kwiecień 2009 - 22:58

to ja wiem ale dlaczego działają w każdym pliku ?

Dołączona grafika


#12 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49505 postów
  • Wersja:IP.Board 3.2.3

Napisano 13 kwiecień 2009 - 23:04

Bo są ładowane w index.php wraz z innym cache:
//--------------------------------
// Start off the cache array
//--------------------------------

$ipsclass->cache_array = array_merge( $choice[ $ipsclass->input['_low_act'] ][2], array('skin_remap', 'rss_calendar', 'rss_export', 'components', 'banfilters', 'settings', 'group_cache', 'systemvars', 'skin_id_cache', 'forum_cache', 'moderators', 'stats', 'languages', 'dp23_news_cache', 'dp23_lbe_cache') );

I trochę niżej:
//===========================================================================
// Get cache...
//===========================================================================

$ipsclass->init_cache_setup();
$ipsclass->init_load_cache( $ipsclass->cache_array );

intermedia - profesjonalne rozwiązania Invision Power Board

#13 Batman

  • Użytkownik
  • 491 postów
  • Wersja:IP.Board 3.1.2

Napisano 13 kwiecień 2009 - 23:07

a widzisz , ładowane są do $ipsclass tak?

edit : do $choice dodałem linijkę z klasą

Użytkownik Batman edytował ten post 13 kwiecień 2009 - 23:11

Dołączona grafika


#14 DawPi

    ...a wy Pragnienie™

  • Manager
  • 49505 postów
  • Wersja:IP.Board 3.2.3

Napisano 13 kwiecień 2009 - 23:11

Kurcze, no, jakby Ci to powiedzieć, vars to tak naprawdę właściwość klasy, a w tym przypadku tablica.

Trochu się zamieszałem do czego zmierzasz. :)
intermedia - profesjonalne rozwiązania Invision Power Board

#15 Batman

  • Użytkownik
  • 491 postów
  • Wersja:IP.Board 3.1.2

Napisano 13 kwiecień 2009 - 23:18

ok prościej :

$this->ipsclass->member['id'] możesz użyć w każdym miejscu forum i zawsze poda ci twoje id ja chcę zrobić dokładnie to samo tylko zamiast member['id']chce mieć swoje np. lala['de']które uzyskam w swoim pliku

prościej dzisiaj nie dam rady tego wytłumaczyć :)

Dołączona grafika






Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych