Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Własny hook nie działa


Mateusz_K

Rekomendowane odpowiedzi

Cześć, stworzyłem swojego hooka. Rozszerza on klasę \IPS\cms\Records . Hook ten ma za zadanie wpisywać pewną wartość do bazy jeżeli użytkownik należy do grupy klubowicza. Jednak gdy dodaję var_dump w metodzie, to nic mi się nie wyświetla. Dostaję natomiast błąd : 

IPS \ Db \ Exception (1366)
Incorrect integer value: '' for column 'field_157' at row 1

Wiem, że nie dostaje tutaj wartości integer, ale nie mogę nawet zdebugować kodu. Oto mój kod hooka : 

//<?php

/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
	exit;
}

class hook41 extends _HOOK_CLASS_
{
	/**
	 * Process create/edit form
	 *
	 * @param	array				$values	Values from form
	 * @return	void
	 */
	public function processForm( $values )
	{
      var_dump($values);
      exit;
	  parent::processForm( $values );
    }
}

Czy ktoś wie może dlaczego nie wyświetla mi się var_dump ?ID  bazy danych też jest prawidłowe

Odnośnik do komentarza
Udostępnij na innych stronach

Teraz, Mateusz_K napisał:

Cześć, stworzyłem swojego hooka. Rozszerza on klasę \IPS\cms\Records . Hook ten ma za zadanie wpisywać pewną wartość do bazy jeżeli użytkownik należy do grupy klubowicza. Jednak gdy dodaję var_dump w metodzie, to nic mi się nie wyświetla. Dostaję natomiast błąd : 


IPS \ Db \ Exception (1366)
Incorrect integer value: '' for column 'field_157' at row 1

Wiem, że nie dostaje tutaj wartości integer, ale nie mogę nawet zdebugować kodu. Oto mój kod hooka : 


//<?php

/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
	exit;
}

class hook41 extends _HOOK_CLASS_
{
	/**
	 * Process create/edit form
	 *
	 * @param	array				$values	Values from form
	 * @return	void
	 */
	public function processForm( $values )
	{
      var_dump($values);
      exit;
	  parent::processForm( $values );
    }
}

Czy ktoś wie może dlaczego nie wyświetla mi się var_dump ?ID  bazy danych też jest prawidłowe

 

Odnośnik do komentarza
Udostępnij na innych stronach

Poprawiłem trochę tego hooka, i var_dumpy działają, ale nie wlatuje wpis do bazy danych. 

Mój kod hooka : 

//<?php

/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
	exit;
}

class hook57 extends _HOOK_CLASS_
{
  
  /**
	 * Process create/edit form
	 *
	 * @param	array				$values	Values from form
	 * @return	void
	 */
	public function processForm( $values )
	{
      if(static::$customDatabaseId == 30) {
        $values['field_157'] = 1;
      }
      parent::processForm( $values );
	}
}

A błąd dostaję : 

IPS \ Db \ Exception (1366)
Incorrect integer value: '' for column 'field_157' at row 1

 

Odnośnik do komentarza
Udostępnij na innych stronach

Ok, mam xmla :

<?xml version="1.0" encoding="UTF-8"?>

-<plugin update_check="" website="" author="Mateusz" version_human="1.0.0" version_long="10000" name="Promote advertisement">


-<hooks>


-<hook filename="promote_adv" class="\IPS\cms\Records" type="C">

-<![CDATA[//<?php

/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
	exit;
}

class hook57 extends _HOOK_CLASS_
{
  
  /**
	 * Process create/edit form
	 *
	 * @param	array				$values	Values from form
	 * @return	void
	 */
	public function processForm( $values )
	{
		try
		{
	      $values['field_157'] = 1;
	      parent::processForm( $values );
		}
		catch ( \RuntimeException $e )
		{
			if ( method_exists( get_parent_class(), __FUNCTION__ ) )
			{
				return call_user_func_array( 'parent::' . __FUNCTION__, func_get_args() );
			}
			else
			{
				throw $e;
			}
		}
	}
}
]]>
</hook>

</hooks>

<tasks/>

<widgets/>

<htmlFiles/>

<cssFiles/>

<jsFiles/>

<resourcesFiles/>

<lang/>

<versions/>

</plugin>

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
W dniu 7.11.2018 o 10:49, Mateusz_K napisał:

IPS \ Db \ Exception (1366) Incorrect integer value: '' for column 'field_157' at row 1

I nadal taki sam błąd się pojawia?

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Problem ROZWIĄZANY. Jeśli są jakiekolwiek wątpliwości, pytania proszę o założenie nowego tematu.

Wszelkie uzasadnione reklamacje/pretensje/sugestie/rady przyjmuje ekipa forum.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.