バージョン選択

フォーラム

メニュー

オンライン状況

46 人のユーザが現在オンラインです。 (38 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 46
もっと...

サイト内検索

質問 > フロント機能 > Ameblo取得用phpコードの記載場所

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
higeotoko
投稿日時: 2019/11/5 23:57
対応状況: −−−
新米
登録日: 2019/11/5
居住地:
投稿: 5
Ameblo取得用phpコードの記載場所
▼テンプレート
[EC-CUBE]3.0.17
[レンタルサーバ]lolipop
[OS]Windows10
[PHP]7.1.5
[データベース]MySQL 5.6.23
[WEBサーバ]Apache
[ブラウザ]Google Chrome
[現象]
質問です、AmebloのRSSを取得しTOPページに記載したくコードを探して編集し、XAMPPのローカルでphpファイルでの動作を確認しました。
しかし、EC-CUBEはtwigファイルなので、記載してもソースコードがそのままか書かれてしまい、動的なアクションをしてくれません。

そもそも、phpファイルを別で書いてtwigで呼び出すような形なのでしょうか?趣味で始めたので、ほぼ初心者に等しい知識です、宜しくお願いいたします。

EC-CUBEの動的な動きについてわからない為、申し訳ありません。
umebius
投稿日時: 2019/11/6 7:33
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: Ameblo取得用phpコードの記載場所

twigでPHPコードを実行することも可能といえば可能ですが
基本的にはControllerクラスを作ってロジックはコントローラに記載し、twig(ビューファイル)に変数を渡す方が良いかと思います。

下記URLのイメージです。
https://stackoverflow.com/a/42444866

コントローラの追加方法は下記の「新しいルーティングの追加」をご参考ください。

https://doc4.ec-cube.net/customize_controller


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

higeotoko
投稿日時: 2019/11/7 23:23
対応状況: −−−
新米
登録日: 2019/11/5
居住地:
投稿: 5
Re: Ameblo取得用phpコードの記載場所
ありがとうございます。

EC-CUBE開発ドキュメントに沿って、SamplePageController.phpを配置してみましたが、ページが見つかりません。と表示されるだけです。

なぜでしょうか?
umebius
投稿日時: 2019/11/8 8:40
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: Ameblo取得用phpコードの記載場所

・どのディレクトリにどのファイルを設置したのか
・どういったURLにアクセスしたのか
教えていただけますか?(ドメイン部分はダミーで大丈夫です)
higeotoko
投稿日時: 2019/11/9 21:35
対応状況: −−−
新米
登録日: 2019/11/5
居住地:
投稿: 5
Re: Ameblo取得用phpコードの記載場所
何度もご返信ありがとうございます、現状こんな感じです。

設置場所
ルートディレクトリ/App/Custmize/Controller/SamplePageController.php

SamplePageController.php
<?php

namespace Customize\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;

class SamplePageController
{

@Method("GET")
@Route("/sample")

public function testMethod()
{
return new Response('Hello sample page !');
}
}

このような感じです、わたしの解釈ではドメイン/sampleでHello Worldで表示されるはずなのですが。
umebius
投稿日時: 2019/11/10 18:20
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: Ameblo取得用phpコードの記載場所
別に間違っていないと思いますが
@Method("GET")のあたりは

    /**
    /* @Method("GET")
    /* @Route("/sample")
    **/

となってますよね?


また、設置場所ですが
ルートディレクトリ/App/Custmize/ となっていますが、
ルートディレクトリ/app/Customize/ ですよね?

Customizeの綴りが違うので気になりました。
higeotoko
投稿日時: 2019/11/16 20:27
対応状況: −−−
新米
登録日: 2019/11/5
居住地:
投稿: 5
Re: Ameblo取得用phpコードの記載場所
返信ありがとうございます。

  /**
/* @Method("GET")
/* @Route("/sample")
**/
はこの通りです。

Custmizeと書いていたのは、スレッドのみで実際のフォルダ名はCustomizeになっていました。
umebius
投稿日時: 2019/11/16 21:55
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: Ameblo取得用phpコードの記載場所
デバッグモード以外だとルーティング(URL設定)はキャッシュされるのですが
管理画面でキャッシュを消すとどうでしょうか?
higeotoko
投稿日時: 2019/11/17 17:52
対応状況: −−−
新米
登録日: 2019/11/5
居住地:
投稿: 5
Re: Ameblo取得用phpコードの記載場所
キャッシュを削除してみても、ページが見つかりません。
と表示されます。

ttp://geekandfreak.club/sample

なのですが、EC-CUBE3.0でも下記の4.0開発ドキュメントと同じ手順なのでしょうか?

https://doc4.ec-cube.net/customize_controller

凄い簡単なサンプルの配置で躓いて恥ずかしい限りで、何度も申し訳ありません。
umebius
投稿日時: 2019/11/18 9:20
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: Ameblo取得用phpコードの記載場所
すみません、4系でしか利用できない方法を記載してしまいしました。
3系ですとアノテーションでのURL指定は利用できず、
src/Eccube/ControllerProvider/FrontControllerProvider.phpで一括指定しています。

ここに作りたいURLとコントローラーのメソッド名を追記すれば表示されると思います。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,286名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.