Jump to content

Hosting dHosting.pl - 10% rabat!

Mateusz_K

Własny hook nie działa

Recommended Posts

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

Share this post


Link to post
Share on other sites
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

 

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

Pokażesz xml tego hooka?


intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Share this post


Link to post
Share on other sites

A mógłbyś powiedzieć gdzie go znajdę? Jest to mój pierwszy hook i nie do końca ogarniam jeszcze wszystko.

Share this post


Link to post
Share on other sites

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>

 

Share this post


Link to post
Share on other sites

Spróbuj tak:

$values['field_157'] = '1';

 


intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Share this post


Link to post
Share on other sites

Też nie działa, w ogóle te pole nie jest przesyłane w danych metodą POST.

 

Screenshot_17.png

Share this post


Link to post
Share on other sites

content_field_157 spróbuj. 


intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

Właśnie niedawno udało mi się rozwiązać problem. Poszperałem w ustawieniach tego pola w bazie danych w ACP i okazało się, że miało wyłączone uprawnienia do zapisu to pole :P 

Share this post


Link to post
Share on other sites

Eeee nooo fajnie. 😲


intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.