Jump to content
  • 0

Pobieranie danych z custom fields


Question

15 answers to this question

Recommended Posts

  • 0

Super, śmiga aż miło, co do tych pól jeszcze, czy w tym miejscu mogę dodać jakimś rozszerzeniem dodatkowe ustawienie?

image.thumb.png.c6664515753cbe73ef5c7fc3c9c4394d.png

Link to post
Share on other sites
  • 0
	public function form( $form )
    {
		if (\IPS\Settings::i()->game_store_field_steamid == \IPS\Request::i()->id) {
			$deafult = \IPS\Settings::i()->game_store_field_steamid;
		} elseif (\IPS\Settings::i()->game_store_field_nickpassword == \IPS\Request::i()->id) {
			$default = \IPS\Settings::i()->game_store_field_nickpassword;
		} else {
			$default = NULL;
		}
			
		$form->add( new \IPS\Helpers\Form\Select( 'game_nexus_fieldtype', $default, TRUE, array( 'options' => array( 0 => 'None', 1 => 'SteamID', 2 => 'Nickname + password' ), 'multiple' => FALSE ) ) );
		return parent::form( $form );
	}
	
	public function formatFormValues( $values )
	{
		if($values['game_nexus_fieldtype'] == 1) {
			\IPS\Settings::i()->game_store_field_steamid = \IPS\Request::i()->id;
		} elseif ($values['game_nexus_fieldtype'] == 2) {
			\IPS\Settings::i()->game_store_field_nickpassword = \IPS\Request::i()->id;
		}

		return parent::formatFormValues( $values );
	}

Dodałem obie funkcje, chciałbym przenieść pole formularza na sam dół (jest obecnie na górze)

image.thumb.png.e6ee885d11b897352110618bf7aeef45.png

Oraz wyłączyć zapisywanie w bazie tego pola bo sypie mi błędem 

Unknown column 'cf_game_nexus_fieldtype' in 'field list'

Link to post
Share on other sites
  • 0
  • Administrator
Godzinę temu, X3nO napisał:

Dodałem obie funkcje, chciałbym przenieść pole formularza na sam dół (jest obecnie na górze)

No to najpierw wywołaj parent::form() a później dopiero swój kod

 

Godzinę temu, X3nO napisał:

Oraz wyłączyć zapisywanie w bazie tego pola bo sypie mi błędem 

Unknown column 'cf_game_nexus_fieldtype' in 'field list'

no to robisz unset( $values[ ... ] );

  • Thanks 1
Link to post
Share on other sites
  • 0

Pięknie, dziękuję, czy do zapisania ustawień

\IPS\Settings::i()->setting_name = "value";

wystarczy? Nie mogę zweryfikować w którym miejscu popełniłem błąd, że się wartość nie przechowuje

Link to post
Share on other sites
  • 0
  • Administrator

Nie. Te własności są tylko read-only. Musisz użyć:

\IPS\Settings::i()->changeValues( array( 'setting' => 'value' ) );

 

  • Thanks 1
Link to post
Share on other sites
  • 0

Dziękuję, co do pól jescze, w nexus jest opcja pola nickname + password, chciałem pobrać stąd dane 

$auth_data = $purchase->custom_fields[\IPS\Settings::i()->game_store_field_nickpassword]['un'];

$password = $purchase->custom_fields[\IPS\Settings::i()->game_store_field_nickpassword]['pw'];

image.png.29e9d1e4f092fc65d8deb9f6bf6215e5.png

ale to raczej nie jest dobra forma bo sypie błędem

Whoops\Exception\ErrorException: Illegal string offset 'un' (2)

Link to post
Share on other sites
  • 0

Myślałem o tym, tylko jak to wyświetlić przy funkcji która nie wyświetla (print_r() nie działa, sypie błędem o modyfikacji nagłówka), może jakaś funkcja do logów?

Link to post
Share on other sites
  • 0
  • Administrator

ja zawsze używam takiego kodu

echo '<pre>';
        var_dump( .... );
        echo '</pre>';exit;

i jeszcze mnie nie zawiódł 🙂

  • Thanks 1
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Dołącz do pierwszego newslettera Invision Community

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

W celu świadczenie usług przez nasz Serwis na najwyższym poziomie, w ramach Serwisu wykorzystujemy pliki Cookies (tzw. ciasteczka). Korzystając ze stron Serwisu IPSBEYOND.PL bez zmiany ustawień przeglądarki będą one zapisane w pamięci urządzenia. Jeżeli nie dokonacie Państwo zmiany ustawień przeglądarki internetowej to wyrażacie zgodę na zapisywanie plików Cookies.