3

そのため、各製品のクリックで追加しようとしている簡単な外観のために、この prestashop モジュールをうまく機能させることができません。

/modules/quicklook の下のベース ディレクトリにモジュールがあります。

ファイルは次のとおりです。

/modules/quicklook.php

class QuickLook extends Module {

private $_html= '';

function __construct() {
    $this->name = 'quicklook';
    $this->tab = 'other';
    $this->version = '0.2.0';
    $this->author = 'Carl';
    parent::__construct();
    $this->displayName = $this->l('Quick Look');
    $this->description = $this->l('AJAX Quick Look');
}

public function install() {
    parent::install();
    if(!$this->registerHook('header')) return false;
    return true;
}

public function getContent()
                        {
                                $this->_displayForm();
                                return $this->_html;
                        }



public function ajaxCall() {

                $this->smartyOutputContent($this->getTemplatePath() . 'quicklook.tpl');
        }

} 

/modules/quicklook.tpl

product.tpl のすべてが含まれます。

/modules/quicklook-ajax.tpl には以下が含まれます:

include(dirname(__FILE__).'/../../config/config.inc.php');
include(dirname(__FILE__).'/../../init.php');
include(dirname(__FILE__).'/quicklook.php');

$quicklook = new QuickLook();
echo $quicklook->ajaxCall();

次に、モジュールを呼び出すために、これを product-list.tpl に追加しました。

<script type="text/javascript">
function QuickLook() {
        $.ajax({
                                        url: '{$base_dir}modules/quicklook/quicklook-ajax.php',
                                        type: 'get',
                                        data: 'ajax=true',
                                        success: function(data) {
                                                console.log('success');
                                                $('#ajax').text(data);
                                        }
                                });
    return false;
    }
</script>

次に、追加した各製品のリンクに移動します

onclick="QuickLook();"

私は得ています

Failed to load resource: the server responded with a status of 404 (Not Found) 

未定義の場合..そして、製品がロードされていません。

したがって、基本的には、各製品の a href リンクで ajax ブリッジ ファイルを呼び出す javascript を実行し、次に quicklook.php を呼び出し、次に製品を表示する quicklook.tpl を呼び出すようにしています。私の考えが正しいことを願っています (これはモジュールでの私の最初の試みです!)。

正しい方向へのガイダンスを本当に感謝します。この時点で、何が問題なのかわかりません。:(

4

1 に答える 1

1

1) まず、存在する quicklook-ajax.php ファイルを確認します。

2) {$base_dir}modules/quicklook/quicklook-ajax.php という URL 経由でアクセスできる可能性を確認します。そうしないと、404 エラーも発生します。

3) 最善の方法は、この目的のために独自のコントローラーを作成し (その方法: http://blog.belvg.com/how-to-implement-a-controller.html )、Link::getModuleLink() を使用することですURLを取得しています。

よろしく

于 2013-08-29T11:39:14.423 に答える