2010-11-24 17 views
0

ジャーナリストが複数の画像を含む記事を作成してスライドショーを作成すると、ノードを作成するボックスをチェックできますタイプ "ギャラリー"はギャラリーとして表示される画像を含みます。 (より大きなレイアウト、異なるカルーセル)。最初の作成時にプログラムで1つ作成するときに2つのノードを作成する

ストーリーノードの保存中にストーリーノードを作成すると、ストーリーコンテンツの作成フォームの[保存]ボタンをクリックすると、ギャラリーとストーリーの両方が同じパスを共有するので、両方とも同じURLで終わります両方ともストーリーを指していて、ギャラリーノードにアクセスすることはできません。

hook_nodeapi(presave、update、save)のさまざまな操作でギャラリー保存操作を実行しようとしました。しかし違いはありません。私もそれは別のものでそれを設定します期待して、実行するパスのエイリアスを強制するために、私のノードオブジェクトの特定のパラメータを設定しました:

$node_gallery->path   = ''; 
$node_gallery->pathauto_perform_alias = 1; 

任意のアイデアは歓迎されるであろう、おかげ

はUPDATE: URLエイリアス設定でギャラリーの名前設定を変更しただけで、 "/ gallery /"というパスが作成されるようになりました。

+0

これと関連があるモジュールはどれですか?唯一のcck、または特定のギャラリーモジュール? – Jozzeh

+0

nope no gallery modules ... CCKだけでなく、Embedded Media Fieldのような追加のものもあります。私は私の問題は、私のギャラリーノードを作成する前に、最初のストーリーノードが保存されていないという事実に由来すると考えているので、どちらもパスエイリアスはデータベースに入れられていないので、同じものになります。 –

+0

ノードギャラリーにパスが必要なのはなぜですか?せいぜい、これに対してはpath_redirectモジュールが必要な場合があります。 – Kevin

答えて

0

これはもっとも洗練された答えではありませんが、nodeapiアップデートのケースを使用すると、ノードが保存され、パスが割り当てられた後でノードにアクセスできます。だから...

$new_node->path = $node->path . 0; 
+0

ありがとう、私はそれを考えていただけで十分な解決策ではありません。タイトルがどこかで同じ場合、競合につながる可能性があります。 pathautoのチェックと作成を行うことを好む。私は、URL Alias設定のギャラリーの命名設定を変更するだけで、 "/ gallery /"を含むパスが作成されるようになりました。 –

関連する問題