Jump to content

Recommended Posts

Posted

Hi.

I am hooking into the saveReady hook in order to update data on other pages, when a page is published. In other words, when a transaction is published, the user is updated. Certain fields are reset on Publish for some reason. It's only on publish, so if I insert data into input fields again and press save, then it works.

So i have added this bit of code to the admin.php file in my template.

$page->addHook( 'Pages::saveReady', null, 'credit_published' );
function credit_published( $event ) {
	$page = $event->arguments[0];

	if( $page->template == "credit-log" && $page->id && !$page->isTrash() && $page->isChanged( 'status' ) && !$page->is( Page::statusUnpublished ) && $page->credit_action->id === 3 ) {
		// Add credit to user.
		$partner = $page->partner;
		$partner->of( false );
		$partner->credit = intval( $partner->credit + $page->credit );
		$partner->save();
	}
}

post-3258-0-62706700-1436880061_thumb.jp

Posted

You don't need to save when hooking saveReady as PW does it already right after hook.

Posted

Thanks Soma, but I need to update another page (a partner page) when a transaction page is published. I use $partner->save() to do this. If uncomment this, then the problem disappears. What could be wrong with the code?

Posted

How about using the Pages::published hook?

You don't need to save when hooking saveReady as PW does it already right after hook.

He's saving "another" page, so nope, it's needed there.

Posted

In the input field called "Partner" I get the user. I then save the user into the variable $partner. I then get the amount stored in the input field called "Kredit". I add the credit to the users credit.

Posted

A save will uncache all pages and you loose data.. so maybe not use save ready but after save.

Posted

Soma, is that the $page->addHookAfter( 'Pages::saved', null, 'credit_published' ); you refer to?

LostKobraKai, is that the $page->addHookAfter( 'Page::published', null, 'credit_published' ); you refer to?

I will try.

Posted

Soma, is that the $page->addHookAfter( 'Pages::saved', null, 'credit_published' ); you refer to?

LostKobraKai, is that the $page->addHookAfter( 'Page::published', null, 'credit_published' ); you refer to?

I will try.

It's Pages::published. I've corrected it already in my previous post, but it seems you didn't notice.

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...