تغییر وضعیت workflow در برنامه
در ماژول نویسی دروپال، چنانچه بخواهیم از ماژول workflow استفاده کنیم، گاهی لازم می شود که می خواهیم . وضعیت workflow یا workflow state را با کد نویسی تغییر دهیم. در این جا راه حل این مشکل را توضیح می دهم.
برای انجام این کار از تابع workflow_execute_transition() استفاده می کنیم. سینتکس این تابع به صورت زیر است:
workflow_execute_transition($node, $state_name, $comment = NULL, $force = FALSE)
- آرگومان اول ($node) آبجکت node ای است که می خواهیم وضعیت workflow را در آن تغییر دهیم.
- آرگومان دوم (
$state_name
) نام ماشینی وضعیت جدید است که node میخواهد به آن وضعیت برود. - آرگومان سوم (
$comment) یک آرگومان اختیاری است که یک توضیح در خصوص این تغییر وضعیت را مشخص می کند (پیش فرض آن Null است)
- آرگومان چهارم (
$force) نیز اختیاری است و اگر TRUE باشد به این معنی است که تغییر وضعیت workflow بدون توجه به مجوزها انجام گیرد. پیش فرض آن FALSE است یعنی اگر مجوز نداشته باشد، تغییر وضعیت انجام نمیگیرد.
مثال:
نظرات شما
قسمت نظرات با استفاده از سرویس دیسکاس پیاده سازی شده است. متاسفانه این سرویس از داخل ایران قابل دسترس نیست. لطفا از آی پی خارجی استفاده کنید.