Forumlar / National / Russian / Тех. поддержка / Как правильно мне привязаться к хуку?

Kopusha
#1 2018-01-10 13:56

Проблематика - я выполняю в плагине следующий код - 

			$listperformer = $db->query("SELECT COUNT(*) offer_userid FROM $db_projects_offers WHERE offer_choise = 'performer' AND offer_pid=?",array($id))->fetchColumn();		
			if($listperformer >= $item['item_performers'])
			{
				$db->update($db_projects, array("item_realized" => 1), "item_id=" . (int)$id);
			}
			else
			{
				$db->update($db_projects, array("item_realized" => 0), "item_id=" . (int)$id);
			}

$item['item_performers'] это экстраполе в $db_projects - если у меня listperformer больше или равно выставленного в экстраполе item_performers числа то я делаю проект реализованным. Всюду все работает, но не могу понять один нюанс.

Я захожу в редактирование проекта. Меняю там значение $item['item_performers'] экстраполя, жму опубликовать и НЕ считает это условие указанное выше с новыми данными. После этого захожу опять Редактировать-Опубликовать - не меняя никаких данных - уже все верно. Как я понимаю это связано с тем что у меня при редактировании новые данные в экстраполе вносятся,  но сразу оно не считает из за того что у меня не верный этап (привязка к хуку)

Я пробовал * Hooks=projects.edit.update.done

судя по "page.edit.update.done Хук после занесения данных в mysql. Может использоваться для уведомлений о модифицированном контенте" мне нужен именно он, но нет, не срабатывает.

 

Added 1 minute later:

пробовал уже и edit.done edit.main edit.update.first и тд и тп)

Added 10 minutes later:

Перечитал что написал и попробую другими словами
Я сам проект меняю динамически из состояния реализован и обратно (item_realized) в зависимости от того сколько людей там могут принимать участие (экстраполе в projects item_performers) и сколько людей назначил владелец проекта - $listperformer
При редактировании проекта если менять значение в экстраполе item_performers и нажать сохранить - считает НЕ верно - код привязанный к projects.edit.update.done срабатывает взяв прошлое значение item_performers. Если еще раз открыть редактирование и ничего не меняя нажать Сохранить - то уже все работает нормально. Как мне заставить код работать сразу?

Added 1 minute later:

.edit.first  и .edit.update.first тоже не помогают...
 

Added 2 hours later:

Разобрался. 

if($listperformer>= $ritem['item_performers'])


Bu konu Kopusha tarafından düzenlendi(2018-01-10 16:44, 6 yıllar önce)