2016-10-06 13 views
1

タイトルごとに、未公開のページのURLセグメントを取得する方法を理解しようとしています。当社でonAfterUnpublish()で公開されなかったページを取得する方法

また、彼らが言うonAfterPublish()とonBeforePublish(上で行うようにこれらの拡張ポイントは、すべての変数を提供していませんがページがドラフト

として保存したときのために同じことを行う必要があります)

答えて

2

onAfterUnpublish関数$this->ownerを呼び出して、ページ変数のいずれかにアクセスできます。ここではページURLSegmentを取得する方法を次のとおりです。

class CustomSiteTree extends SiteTreeExtension { 

    public function onAfterUnpublish() { 
     $this->owner->URLSegment; 
    } 

} 
+0

ああおかげで、私はowner'> 'の$ this - を知っていたが、何らかの理由で私は' onAfterPublish($のためとして、渡されるために必要な変数のように感じました元の) '$ original-> URLSegment'からURLSegmentを得ることができました – zanderwar

+0

どの機能を「ドラフトとして保存」にする必要があるかについての洞察は、onAfterWrite()以外のものは表示されませんが、 onAfterPublish()とonAfterUnpublish()と一緒に起動することがあります。 – zanderwar

+1

私は 'onAfterWrite'をチェックして、保存されているページがドラフトやパブリッシングを保存しているかどうかを調べます。 – 3dgoo