EC-Cube 2.12.6で sitemap.phpでのuser_dataを消す方法について

EC-Cube 2.12.6で sitemap.phpでのuser_dataを消す方法について

EC-Cube 2.12.6で sitemap.phpでのuser_dataを消す方法について

(Eccube 2.12.3)sitemap.phpでのuser_dataを消す方法について

motorpと申します。

Eccube 2.12.3 で作業を行っているのですが

user_data のページ表示で URLに含まれる user_data を消すことと静的アドレスになるように、.htaccess 側で以下のようにしました。

http://xxx.com/user_data/test.php

http://xxx.com/test.html

(.htaccess)

RewriteEngine on

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)\.html$ user_data/$1.php [L]

次にsitemap.phpで表示を治す作業(LC_Page_Sitemap.php)を行っているのですが

sitemap.phpで/user_data/の部分を無くす(?)記述がわからなく修正方法がわかる方がおられましたら、ご教授頂けたら助かります。


Re: (Eccube 2.12.3)sitemap.phpでのuser_dataを消す方法について
こんにちわ。

LC_Page_Sitemap.php で、user_dataを含むURLを取得している箇所で、URLを出力する前に加工すればOKです。

process()の中の以下の部分を

// 編集可能ページを処理
$arrEditablePagesList = $this->getEditablePage($this->arrPageList);
foreach ($arrEditablePagesList as $arrEditablePage) {
$this->createSitemap($arrEditablePage[‘url’],
$this->date2W3CDatetime($arrEditablePage[‘update_date’]));
}

以下のように修正します。

// 編集可能ページを処理
$arrEditablePagesList = $this->getEditablePage($this->arrPageList);
foreach ($arrEditablePagesList as $arrEditablePage) {
$url = $arrEditablePage[‘url’]; // 追加
if (strpos($url, ‘user_data/’)) { // 追加
$url = str_replace(‘user_data/’, ”, $url); // 追加
$url = preg_replace(‘/\.php$/’, ‘.html’, $url); // 追加
} // 追加
$this->createSitemap($url, // 変更
$this->date2W3CDatetime($arrEditablePage[‘update_date’]));
}

 

Re: (Eccube 2.12.3)sitemap.phpでのuser_dataを消す方法について

こんにちわ。

LC_Page_Sitemap.php で、user_dataを含むURLを取得している箇所で、URLを出力する前に加工すればOKです。

process()の中の以下の部分を

// 編集可能ページを処理  $arrEditablePagesList = $this->getEditablePage($this->arrPageList);  foreach ($arrEditablePagesList as $arrEditablePage) {      $this->createSitemap($arrEditablePage['url'],                           $this->date2W3CDatetime($arrEditablePage['update_date']));  }

以下のように修正します。

// 編集可能ページを処理  $arrEditablePagesList = $this->getEditablePage($this->arrPageList);  foreach ($arrEditablePagesList as $arrEditablePage) {      $url = $arrEditablePage['url'];                     // 追加      if (strpos($url, 'user_data/')) {                   // 追加          $url = str_replace('user_data/', '', $url);     // 追加          $url = preg_replace('/\.php$/', '.html', $url); // 追加      }                                                   // 追加      $this->createSitemap($url,                          // 変更                           $this->date2W3CDatetime($arrEditablePage['update_date']));  }

 

eccubeorg

http://www.eccube.org

You may also like...

1 Response

  1. hosogawa より:

    data/class/pages/LC_Page_Sitemap.php Eccube 2.12.6 成功!