PHPの致命的なエラー:113行目のPermissions / BlockController.phpの非オブジェクトに対するメンバー関数setData()の呼び出し-SUPEE-6788の適用後


7

SUPEE-6788適用後のPHPの致命的エラー:

113行目のapp / code / core / Mage / Adminhtml / controllers / Permissions / BlockController.phpの非オブジェクトに対するメンバー関数setData()の呼び出し

まず、パッチを適用できませんSUPEE-6788。と言いました

-eエラー:パッチを適用/元に戻すことができません

リンク「PATCH_SUPEE-6788が1.7.0.2のインストールに影響を与えないように見えるのはなぜですか?」に記載されている手順に従って、パッチを適用できました。

しかし、一部のMagentoブロックがホームページにありません。Googleでの長い検索の結果、ブロックを作成する必要があることがわかりました。System > Permissions > Blocks

しかし、一部のテーブルが作成されないため、アクセスできません ( permission_block and permission_variable )

この問題は、次の手順で解決されました(テーブルpermission_blockおよびpermission_variableがSUPEE-6788の後に作成されませんでした

しかし、私は権限の下でブロックを編集または作成することができず、リストビューのみが表示されます。上記のエラーを取得する


これを解決しましたか?私は同じ問題を抱えています

いいえ、まだです。解決策は見つかりましたか?
Joseph Asir Raja

回答:


7

app / design / adminhtml / default / default / layout / admin.xml

このエラーは、レイアウトキャッシュが更新されていないか、admin.xmlに次のコードがない場合に生成されます。

<!-- admin permissions block edit page -->
<adminhtml_permissions_block_edit>
    <reference name="content">
        <block type="adminhtml/permissions_block_edit" name="adminhtml.permissions.block.edit"/>
    </reference>
</adminhtml_permissions_block_edit>
<!-- admin permissions variable edit page -->

また、他のxmlファイルでadminhtml_permissions_role_editroleを使用して確認します。存在する場合は、更新する必要もあります。
ムケシュ

1

データベースのエントリを手動で追加/編集/削除できます。テーブルpermission_blockには列block_id, block_name, is_allowedが含まれており、名前を入力してをに設定is_allowedすることにより、ブロックをホワイトリストに簡単に追加できます1

答え/解決策ではなく、回避策です...


1

以下の解決策は私のために働きました:コードの下のReplcae:

$this->getLayout()->getBlock('adminhtml.permissions.block.edit')
            ->setData('action', $this->getUrl('*/permissions_block/save'));

$this->getLayout()->createBlock('adminhtml/permissions_block_edit')
            ->setData('action', $this->getUrl('*/permissions_block/save'));

VariableController.php同じ行113についても同様に行います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.