0

Opencart で販売プロセスの分割テスト パスを作成しようとしていますが、ミニカートの「カートを見る」URL を変更できませんでした。

分割パスの[うまくいけば]より明確な説明は次のとおりです。

?route=product/categorya&path=XX
?route=product/producta&product_id=XX
?route=checkout/carta

これはこの時点まで機能します。checkout/carta「カートを空にする」と「買い物を続ける」がそれぞれのリンクを指しています。

?route=checkout/carta&empty=1

?route=product/categorya&path=XX

ミニカートの「削除」も正しく機能していますが、「カートの表示」が返さcheckout/cartれ、残りのプロセスがオフになります。

次の手順を試してみましたが、役に立ちませんでした。

#catalog/controller/module/carta.php
class ContorllerModuleCarta extends Controller {
....
$this->data['cart'] = $this->url->link('checkout/carta');

#catalog/view/theme/mytheme/template/module/carta.tpl
<div id="carta">...

#catalog/view/javascript/common.js
/* Ajax Carta */
...
$('#carta').load('index.php?route=module/carta #carta > *');
...

何が欠けているのかわかりませんが、どんな方向性でもありがたいです。

4

1 に答える 1

1

問題は、コードが Opencart に接続されていないことです。あなたは2つの方法でそれを行うことができます
.

        $this->children = array(
            'module/language',
            'module/currency',
            'module/cart'
        );

あなたのコード、carta.phpファイルはロードされないので、コードの終わりです。ここにモジュール コードを追加し、それを header.tpl ファイルにロード/エコーし、$cart を削除します。そうしないと、2 つのカートが表示されます。

        $this->children = array(
                'module/language',
                'module/currency',
                'module/carta'
            );

tplコード

       <?php echo $carta; ?>

2番目 - デフォルトのOpencart Cartを使用したくない場合は、この行をcart.phpファイルに変更するだけで、他のコードを追加する必要はありません(jsコードが必要になります)

        $this->data['cart'] = $this->url->link('checkout/carta');

注 - コードには vqmod/ocmod を使用してください。コア ファイルを直接変更することは悪です。

于 2015-10-31T07:18:10.670 に答える