置換ノードのエイリアス

画像

タスクは、特定のタイプのノードのすべてのリンクを他のものに置き換えることです。





私の行動:

なぜなら Drupalでは、「良い」ために、すべてのリンクはurl()を介して生成されます。 つまりcustom_url_rewrite_outbound()関数を使用してリンクをリロードします。

Copy Source | Copy HTML function custom_url_rewrite_outbound(& $path , & $options , $original_path ) { if (preg_match( "/^node\/[0-9]*$/" , $original_path )){ // "node/13123" $array = explode( "/" , $original_path ); // $node = node_load( $array [ 1 ]); // // , if ( $node ->type == 'node_type' ) $path = 'my_super_new_node/' . $node ->nid; } }
  1. Copy Source | Copy HTML function custom_url_rewrite_outbound(& $path , & $options , $original_path ) { if (preg_match( "/^node\/[0-9]*$/" , $original_path )){ // "node/13123" $array = explode( "/" , $original_path ); // $node = node_load( $array [ 1 ]); // // , if ( $node ->type == 'node_type' ) $path = 'my_super_new_node/' . $node ->nid; } }
  2. Copy Source | Copy HTML function custom_url_rewrite_outbound(& $path , & $options , $original_path ) { if (preg_match( "/^node\/[0-9]*$/" , $original_path )){ // "node/13123" $array = explode( "/" , $original_path ); // $node = node_load( $array [ 1 ]); // // , if ( $node ->type == 'node_type' ) $path = 'my_super_new_node/' . $node ->nid; } }
  3. Copy Source | Copy HTML function custom_url_rewrite_outbound(& $path , & $options , $original_path ) { if (preg_match( "/^node\/[0-9]*$/" , $original_path )){ // "node/13123" $array = explode( "/" , $original_path ); // $node = node_load( $array [ 1 ]); // // , if ( $node ->type == 'node_type' ) $path = 'my_super_new_node/' . $node ->nid; } }
  4. Copy Source | Copy HTML function custom_url_rewrite_outbound(& $path , & $options , $original_path ) { if (preg_match( "/^node\/[0-9]*$/" , $original_path )){ // "node/13123" $array = explode( "/" , $original_path ); // $node = node_load( $array [ 1 ]); // // , if ( $node ->type == 'node_type' ) $path = 'my_super_new_node/' . $node ->nid; } }
  5. Copy Source | Copy HTML function custom_url_rewrite_outbound(& $path , & $options , $original_path ) { if (preg_match( "/^node\/[0-9]*$/" , $original_path )){ // "node/13123" $array = explode( "/" , $original_path ); // $node = node_load( $array [ 1 ]); // // , if ( $node ->type == 'node_type' ) $path = 'my_super_new_node/' . $node ->nid; } }
  6. Copy Source | Copy HTML function custom_url_rewrite_outbound(& $path , & $options , $original_path ) { if (preg_match( "/^node\/[0-9]*$/" , $original_path )){ // "node/13123" $array = explode( "/" , $original_path ); // $node = node_load( $array [ 1 ]); // // , if ( $node ->type == 'node_type' ) $path = 'my_super_new_node/' . $node ->nid; } }
  7. Copy Source | Copy HTML function custom_url_rewrite_outbound(& $path , & $options , $original_path ) { if (preg_match( "/^node\/[0-9]*$/" , $original_path )){ // "node/13123" $array = explode( "/" , $original_path ); // $node = node_load( $array [ 1 ]); // // , if ( $node ->type == 'node_type' ) $path = 'my_super_new_node/' . $node ->nid; } }
  8. Copy Source | Copy HTML function custom_url_rewrite_outbound(& $path , & $options , $original_path ) { if (preg_match( "/^node\/[0-9]*$/" , $original_path )){ // "node/13123" $array = explode( "/" , $original_path ); // $node = node_load( $array [ 1 ]); // // , if ( $node ->type == 'node_type' ) $path = 'my_super_new_node/' . $node ->nid; } }


注意の質問:

私の方法はどれほど正しいですか、私の問題に対するより正しい解決策はありますか? ありがとう

Source: https://habr.com/ru/post/J112586/


All Articles