こんにちは。メニュー項目のパスがどうしても更新できず、お教えいただける方がいらっしゃいましたらお願いします

Events happening in the community are now at Drupal community events on www.drupal.org.
metaboy's picture

はじめまして。Drupalはじめたばかりですが、その面白さに取り込まれつつある者です。
実は困っておりまして・・・

【症状】
 ・インストール終え、管理セクションで
 基礎的なコンテンツ準備をしているところですが
 ・ホーム › 管理セクション › サイトの構築 › メニュー
  メニュー項目を用意しようとしたら、
   ・メニュー項目のパスが編集更新できず、
    「パス 'newnamepass' は無効、あるいはアクセスできません。」 
    というエラーが表示されてしまいます。

【確認】
 ・ホーム › 管理セクション › サイトの環境設定
  ファイルシステムで
  ファイルシステムのパス:は デフォルトの sites/default/files
  パーミッションで 777 を与えてみてもだめでした。
 ・少し、ソースをたどってみたのですが
  menu に関するモジュール の
   /modules/menu/menu.admin.inc の中で
   menu_valid_path($item) を呼んでいるところがあり
   ※これは、 Drupal API だそうですね

   それが存在する
    /includes/menu.inc の中で
    function menu_get_item
    が 値を返していないところまではわかったのですが
    ※これが 値返さない場合
     上記 menu.admin.inc で、
     "The path '@link_path' is either invalid or you do not have access to it・・・
     のエラーが返っている

  どうしても理解ができません。
 Googkeで検索してみても、そのような症例は見つからず
 私だけの現象 なのか?

 まことに恐れ入りますが、
 他にチェックすべき パーミッション設定、テーブルでの情報
 などありますでしょうか?

なにとぞ よろしくお願いいたします。

Comments

dokumori's picture

metaboyさんがメニューに追加されようとしているのは、Drupalのノードであることを前提にお答えします:

Drupalのメニューは、項目を設定してからノードを作るのではなく、ノードを作ってからメニューに登録するというプロセスを経ます。

例えば、'about us'というページ(ノード)を作ってから、プライマリーメニュー等にこれを追加する、という手順になります。

ノードのメニューへの追加には二通りの方法があります。一つは管理セクションから既存ノードへのパスを指定する方法、もう一つはノード作成時に既存メニューに追加する方法です。

これで答えになっているでしょうか?的外れだったらごめんなさい。

それから、質問はこちら(http://groups.drupal.org/node/22772 )に投稿するのが良いようです。(個人的には、別スレッドのほうがアーカイブとしての価値が高まる気もするのですが)

dokumori さま、ありがとうございます。

metaboy's picture

dokumori さま、はじめまして。
ありがとうございます。
早速のお返事をいただき、喜び 恐縮しております。

さて、下記ですが、
・ノード(今回は、ストーリーですか)はすでに
 作成されており、
 http://mydomain.com/node/2
 などの形で表示されているのです。

おっしゃるとおり、2通りの方法は理解しておりまして
今回、
 ・ノード作成時に既存メニューに追加する方法
 で行いました。

後になって、このパス
 http://mydomain.com/node/2
 を
 http://mydomain.com/newnode
 などに変更しようと思ったのですが、
これが、できない ということでしょうか?

ちなみに、メニューにおいて
新しく
 ・プライマリリンク
 や
 ・(私が)新しく用意したメニュー
 それぞれに
  「項目の追加」をしようとして
 パスに newnamepass を
 入れても

  同じように
  「パス 'newnamepass' は無効、あるいはアクセスできません。」 
    というエラーが表示されてしまいます。

【補足情報】
・サーバーは、heteml です。
・php5,MySQL5
 ※php5 で動くよう、.htaccess しています

なお、他の
・テーマの設定編集 などは問題なく行えます。
この
・パスの登録・変更
のところだけなのです。

なにとぞよろしくお願いいたします。
  
(追記)
投稿先の件、すみません。
本スレッドはこのままにさせていただき、
次回からはお教えいただいたようにいたします。
ご指示、重ねてお礼申し上げます。

qchan's picture

すいません、私の書き方が悪かったみたいです。

質問は
http://groups.drupal.org/japan/questions
ここから「質問する」をクリックしてみてください。
このフォームから投稿されると新規トピックになってみなさんの目に止まりやすいので、
回答も得やすいですよ。

は、”できれば別スレッドを立ててくださいね”という意味で書いていたのでそのままにしてくださいね。
「質問する」というリンクを押すと、
http://groups.drupal.org/node/add/story?gids[]=7663
新スレッドになるという意図でした。
よろしくお願いします。

dokumori's picture

あれ、僕が言ったことは正反対でしたね。:p
ごめんなさい。

 http://mydomain.com/node/2  

dokumori's picture

 http://mydomain.com/node/2
 を
 http://mydomain.com/newnode
 などに変更しようと思ったのですが、

URL エイリアスの設定をされようとしているという前提でお答えします:
これはに別途、コアに付属するpathモジュールを使う必要があります。
pathモジュールを有効にすると、ノードの編集画面でURL エイリアスを設定することができます。また、pathautoという寄贈モジュールを使うと、ノード作成時にエイリアスを自動的に生成してくれます。

metaboy's picture

ありがとうございました。
・pathモジュール
 を有効にして、
・権限
 を与えることによって
  ホーム › 管理セクション › サイトの構築
  に
  ・URL aliases というメニューが表示され
  そこで設定して、思い通りの結果が得られました。

これも素敵ですね。
rewrite など利用せず、こういったことを
直感的に行える。素晴らしい。

もう少し、Drupal にはまってみたいと思います。

※この後の経過を
 私のブログにも掲載しておきますので
 お時間ありましたら、いらして
 笑って和んでください。

創るmetaboy:
http://metaboy.blog23.fc2.com/

dokumori さん
qchanさん
ありがとうございました。

日本 コミュニティ: Drupal Japan User Group

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: