管理员/控制器中的访问变量,来自目录/模板 - opencart

时间:2017-08-28 16:48:28

标签: variables controller opencart admin access

是否可以从目录模板访问管理设置中保存的变量 来自admin/controller/extension/theme/themename.php中的catalog/view/theme/themename/template/common/header.tpl 假设我想要List Description Limit themename.php中的header.tpl <?php echo List Description Limit; ?>中的class ControllerExtensionThemeThemeDefault extends Controller { private $error = array(); public function index() { $this->load->language('extension/theme/theme_default'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('setting/setting'); if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { $this->model_setting_setting->editSetting('theme_default', $this->request->post, $this->request->get['store_id']); $this->session->data['success'] = $this->language->get('text_success'); $this->response->redirect($this->url->link('extension/extension', 'token=' . $this->session->data['token'] . '&type=theme', true)); } $data['heading_title'] = $this->language->get('heading_title'); $data['text_edit'] = $this->language->get('text_edit'); $data['text_enabled'] = $this->language->get('text_enabled'); $data['text_disabled'] = $this->language->get('text_disabled'); $data['text_product'] = $this->language->get('text_product'); $data['text_image'] = $this->language->get('text_image'); $data['text_general'] = $this->language->get('text_general'); $data['entry_directory'] = $this->language->get('entry_directory'); $data['entry_status'] = $this->language->get('entry_status'); $data['entry_product_limit'] = $this->language->get('entry_product_limit'); $data['entry_product_description_length'] = $this->language->get('entry_product_description_length'); $data['entry_image_category'] = $this->language->get('entry_image_category'); $data['entry_image_thumb'] = $this->language->get('entry_image_thumb'); $data['entry_image_popup'] = $this->language->get('entry_image_popup'); $data['entry_image_product'] = $this->language->get('entry_image_product'); $data['entry_image_additional'] = $this->language->get('entry_image_additional'); $data['entry_image_related'] = $this->language->get('entry_image_related'); $data['entry_image_compare'] = $this->language->get('entry_image_compare'); $data['entry_image_wishlist'] = $this->language->get('entry_image_wishlist'); $data['entry_image_cart'] = $this->language->get('entry_image_cart'); $data['entry_image_location'] = $this->language->get('entry_image_location'); $data['entry_width'] = $this->language->get('entry_width'); $data['entry_height'] = $this->language->get('entry_height'); $data['help_product_limit'] = $this->language->get('help_product_limit'); $data['help_product_description_length'] = $this->language->get('help_product_description_length'); $data['help_directory'] = $this->language->get('help_directory'); $data['button_save'] = $this->language->get('button_save'); $data['button_cancel'] = $this->language->get('button_cancel'); if (isset($this->error['warning'])) { $data['error_warning'] = $this->error['warning']; } else { $data['error_warning'] = ''; } if (isset($this->error['product_limit'])) { $data['error_product_limit'] = $this->error['product_limit']; } else { $data['error_product_limit'] = ''; } if (isset($this->error['product_description_length'])) { $data['error_product_description_length'] = $this->error['product_description_length']; } else { $data['error_product_description_length'] = ''; } if (isset($this->error['image_category'])) { $data['error_image_category'] = $this->error['image_category']; } else { $data['error_image_category'] = ''; } if (isset($this->error['image_thumb'])) { $data['error_image_thumb'] = $this->error['image_thumb']; } else { $data['error_image_thumb'] = ''; } if (isset($this->error['image_popup'])) { $data['error_image_popup'] = $this->error['image_popup']; } else { $data['error_image_popup'] = ''; } if (isset($this->error['image_product'])) { $data['error_image_product'] = $this->error['image_product']; } else { $data['error_image_product'] = ''; } if (isset($this->error['image_additional'])) { $data['error_image_additional'] = $this->error['image_additional']; } else { $data['error_image_additional'] = ''; } if (isset($this->error['image_related'])) { $data['error_image_related'] = $this->error['image_related']; } else { $data['error_image_related'] = ''; } if (isset($this->error['image_compare'])) { $data['error_image_compare'] = $this->error['image_compare']; } else { $data['error_image_compare'] = ''; } if (isset($this->error['image_wishlist'])) { $data['error_image_wishlist'] = $this->error['image_wishlist']; } else { $data['error_image_wishlist'] = ''; } if (isset($this->error['image_cart'])) { $data['error_image_cart'] = $this->error['image_cart']; } else { $data['error_image_cart'] = ''; } if (isset($this->error['image_location'])) { $data['error_image_location'] = $this->error['image_location']; } else { $data['error_image_location'] = ''; } $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_extension'), 'href' => $this->url->link('extension/extension', 'token=' . $this->session->data['token'] . '&type=theme', true) ); $data['breadcrumbs'][] = array( 'text' => $this->language->get('heading_title'), 'href' => $this->url->link('extension/theme/theme_default', 'token=' . $this->session->data['token'] . '&store_id=' . $this->request->get['store_id'], true) ); $data['action'] = $this->url->link('extension/theme/theme_default', 'token=' . $this->session->data['token'] . '&store_id=' . $this->request->get['store_id'], true); $data['cancel'] = $this->url->link('extension/extension', 'token=' . $this->session->data['token'] . '&type=theme', true); if (isset($this->request->get['store_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { $setting_info = $this->model_setting_setting->getSetting('theme_default', $this->request->get['store_id']); } if (isset($this->request->post['theme_default_directory'])) { $data['theme_default_directory'] = $this->request->post['theme_default_directory']; } elseif (isset($setting_info['theme_default_directory'])) { $data['theme_default_directory'] = $setting_info['theme_default_directory']; } else { $data['theme_default_directory'] = 'default'; } $data['directories'] = array(); $directories = glob(DIR_CATALOG . 'view/theme/*', GLOB_ONLYDIR); foreach ($directories as $directory) { $data['directories'][] = basename($directory); } if (isset($this->request->post['theme_default_product_limit'])) { $data['theme_default_product_limit'] = $this->request->post['theme_default_product_limit']; } elseif (isset($setting_info['theme_default_product_limit'])) { $data['theme_default_product_limit'] = $setting_info['theme_default_product_limit']; } else { $data['theme_default_product_limit'] = 15; } if (isset($this->request->post['theme_default_status'])) { $data['theme_default_status'] = $this->request->post['theme_default_status']; } elseif (isset($setting_info['theme_default_status'])) { $data['theme_default_status'] = $this->config->get('theme_default_status'); } else { $data['theme_default_status'] = ''; } if (isset($this->request->post['theme_default_product_description_length'])) { $data['theme_default_product_description_length'] = $this->request->post['theme_default_product_description_length']; } elseif (isset($setting_info['theme_default_product_description_length'])) { $data['theme_default_product_description_length'] = $this->config->get('theme_default_product_description_length'); } else { $data['theme_default_product_description_length'] = 100; } if (isset($this->request->post['theme_default_image_category_width'])) { $data['theme_default_image_category_width'] = $this->request->post['theme_default_image_category_width']; } elseif (isset($setting_info['theme_default_image_category_width'])) { $data['theme_default_image_category_width'] = $this->config->get('theme_default_image_category_width'); } else { $data['theme_default_image_category_width'] = 80; } if (isset($this->request->post['theme_default_image_category_height'])) { $data['theme_default_image_category_height'] = $this->request->post['theme_default_image_category_height']; } elseif (isset($setting_info['theme_default_image_category_height'])) { $data['theme_default_image_category_height'] = $this->config->get('theme_default_image_category_height'); } else { $data['theme_default_image_category_height'] = 80; } if (isset($this->request->post['theme_default_image_thumb_width'])) { $data['theme_default_image_thumb_width'] = $this->request->post['theme_default_image_thumb_width']; } elseif (isset($setting_info['theme_default_image_thumb_width'])) { $data['theme_default_image_thumb_width'] = $this->config->get('theme_default_image_thumb_width'); } else { $data['theme_default_image_thumb_width'] = 228; } if (isset($this->request->post['theme_default_image_thumb_height'])) { $data['theme_default_image_thumb_height'] = $this->request->post['theme_default_image_thumb_height']; } elseif (isset($setting_info['theme_default_image_thumb_height'])) { $data['theme_default_image_thumb_height'] = $this->config->get('theme_default_image_thumb_height'); } else { $data['theme_default_image_thumb_height'] = 228; } if (isset($this->request->post['theme_default_image_popup_width'])) { $data['theme_default_image_popup_width'] = $this->request->post['theme_default_image_popup_width']; } elseif (isset($setting_info['theme_default_image_popup_width'])) { $data['theme_default_image_popup_width'] = $this->config->get('theme_default_image_popup_width'); } else { $data['theme_default_image_popup_width'] = 500; } if (isset($this->request->post['theme_default_image_popup_height'])) { $data['theme_default_image_popup_height'] = $this->request->post['theme_default_image_popup_height']; } elseif (isset($setting_info['theme_default_image_popup_height'])) { $data['theme_default_image_popup_height'] = $this->config->get('theme_default_image_popup_height'); } else { $data['theme_default_image_popup_height'] = 500; } if (isset($this->request->post['theme_default_image_product_width'])) { $data['theme_default_image_product_width'] = $this->request->post['theme_default_image_product_width']; } elseif (isset($setting_info['theme_default_image_product_width'])) { $data['theme_default_image_product_width'] = $this->config->get('theme_default_image_product_width'); } else { $data['theme_default_image_product_width'] = 228; } if (isset($this->request->post['theme_default_image_product_height'])) { $data['theme_default_image_product_height'] = $this->request->post['theme_default_image_product_height']; } elseif (isset($setting_info['theme_default_image_product_height'])) { $data['theme_default_image_product_height'] = $this->config->get('theme_default_image_product_height'); } else { $data['theme_default_image_product_height'] = 228; } if (isset($this->request->post['theme_default_image_additional_width'])) { $data['theme_default_image_additional_width'] = $this->request->post['theme_default_image_additional_width']; } elseif (isset($setting_info['theme_default_image_additional_width'])) { $data['theme_default_image_additional_width'] = $this->config->get('theme_default_image_additional_width'); } else { $data['theme_default_image_additional_width'] = 74; } if (isset($this->request->post['theme_default_image_additional_height'])) { $data['theme_default_image_additional_height'] = $this->request->post['theme_default_image_additional_height']; } elseif (isset($setting_info['theme_default_image_additional_height'])) { $data['theme_default_image_additional_height'] = $this->config->get('theme_default_image_additional_height'); } else { $data['theme_default_image_additional_height'] = 74; } if (isset($this->request->post['theme_default_image_related_width'])) { $data['theme_default_image_related_width'] = $this->request->post['theme_default_image_related_width']; } elseif (isset($setting_info['theme_default_image_related_width'])) { $data['theme_default_image_related_width'] = $this->config->get('theme_default_image_related_width'); } else { $data['theme_default_image_related_width'] = 80; } if (isset($this->request->post['theme_default_image_related_height'])) { $data['theme_default_image_related_height'] = $this->request->post['theme_default_image_related_height']; } elseif (isset($setting_info['theme_default_image_related_height'])) { $data['theme_default_image_related_height'] = $this->config->get('theme_default_image_related_height'); } else { $data['theme_default_image_related_height'] = 80; } if (isset($this->request->post['theme_default_image_compare_width'])) { $data['theme_default_image_compare_width'] = $this->request->post['theme_default_image_compare_width']; } elseif (isset($setting_info['theme_default_image_compare_width'])) { $data['theme_default_image_compare_width'] = $this->config->get('theme_default_image_compare_width'); } else { $data['theme_default_image_compare_width'] = 90; } if (isset($this->request->post['theme_default_image_compare_height'])) { $data['theme_default_image_compare_height'] = $this->request->post['theme_default_image_compare_height']; } elseif (isset($setting_info['theme_default_image_compare_height'])) { $data['theme_default_image_compare_height'] = $this->config->get('theme_default_image_compare_height'); } else { $data['theme_default_image_compare_height'] = 90; } if (isset($this->request->post['theme_default_image_wishlist_width'])) { $data['theme_default_image_wishlist_width'] = $this->request->post['theme_default_image_wishlist_width']; } elseif (isset($setting_info['theme_default_image_wishlist_width'])) { $data['theme_default_image_wishlist_width'] = $this->config->get('theme_default_image_wishlist_width'); } else { $data['theme_default_image_wishlist_width'] = 47; } if (isset($this->request->post['theme_default_image_wishlist_height'])) { $data['theme_default_image_wishlist_height'] = $this->request->post['theme_default_image_wishlist_height']; } elseif (isset($setting_info['theme_default_image_wishlist_height'])) { $data['theme_default_image_wishlist_height'] = $this->config->get('theme_default_image_wishlist_height'); } else { $data['theme_default_image_wishlist_height'] = 47; } if (isset($this->request->post['theme_default_image_cart_width'])) { $data['theme_default_image_cart_width'] = $this->request->post['theme_default_image_cart_width']; } elseif (isset($setting_info['theme_default_image_cart_width'])) { $data['theme_default_image_cart_width'] = $this->config->get('theme_default_image_cart_width'); } else { $data['theme_default_image_cart_width'] = 47; } if (isset($this->request->post['theme_default_image_cart_height'])) { $data['theme_default_image_cart_height'] = $this->request->post['theme_default_image_cart_height']; } elseif (isset($setting_info['theme_default_image_cart_height'])) { $data['theme_default_image_cart_height'] = $this->config->get('theme_default_image_cart_height'); } else { $data['theme_default_image_cart_height'] = 47; } if (isset($this->request->post['theme_default_image_location_width'])) { $data['theme_default_image_location_width'] = $this->request->post['theme_default_image_location_width']; } elseif (isset($setting_info['theme_default_image_location_width'])) { $data['theme_default_image_location_width'] = $this->config->get('theme_default_image_location_width'); } else { $data['theme_default_image_location_width'] = 268; } if (isset($this->request->post['theme_default_image_location_height'])) { $data['theme_default_image_location_height'] = $this->request->post['theme_default_image_location_height']; } elseif (isset($setting_info['theme_default_image_location_height'])) { $data['theme_default_image_location_height'] = $this->config->get('theme_default_image_location_height'); } else { $data['theme_default_image_location_height'] = 50; } $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['footer'] = $this->load->controller('common/footer'); $this->response->setOutput($this->load->view('extension/theme/theme_default', $data)); } protected function validate() { if (!$this->user->hasPermission('modify', 'extension/theme/theme_default')) { $this->error['warning'] = $this->language->get('error_permission'); } if (!$this->request->post['theme_default_product_limit']) { $this->error['product_limit'] = $this->language->get('error_limit'); } if (!$this->request->post['theme_default_product_description_length']) { $this->error['product_description_length'] = $this->language->get('error_limit'); } if (!$this->request->post['theme_default_image_category_width'] || !$this->request->post['theme_default_image_category_height']) { $this->error['image_category'] = $this->language->get('error_image_category'); } if (!$this->request->post['theme_default_image_thumb_width'] || !$this->request->post['theme_default_image_thumb_height']) { $this->error['image_thumb'] = $this->language->get('error_image_thumb'); } if (!$this->request->post['theme_default_image_popup_width'] || !$this->request->post['theme_default_image_popup_height']) { $this->error['image_popup'] = $this->language->get('error_image_popup'); } if (!$this->request->post['theme_default_image_product_width'] || !$this->request->post['theme_default_image_product_height']) { $this->error['image_product'] = $this->language->get('error_image_product'); } if (!$this->request->post['theme_default_image_additional_width'] || !$this->request->post['theme_default_image_additional_height']) { $this->error['image_additional'] = $this->language->get('error_image_additional'); } if (!$this->request->post['theme_default_image_related_width'] || !$this->request->post['theme_default_image_related_height']) { $this->error['image_related'] = $this->language->get('error_image_related'); } if (!$this->request->post['theme_default_image_compare_width'] || !$this->request->post['theme_default_image_compare_height']) { $this->error['image_compare'] = $this->language->get('error_image_compare'); } if (!$this->request->post['theme_default_image_wishlist_width'] || !$this->request->post['theme_default_image_wishlist_height']) { $this->error['image_wishlist'] = $this->language->get('error_image_wishlist'); } if (!$this->request->post['theme_default_image_cart_width'] || !$this->request->post['theme_default_image_cart_height']) { $this->error['image_cart'] = $this->language->get('error_image_cart'); } if (!$this->request->post['theme_default_image_location_width'] || !$this->request->post['theme_default_image_location_height']) { $this->error['image_location'] = $this->language->get('error_image_location'); } return !$this->error; } - image link -值?

控制器文件:
admin / controller / extension / theme / theme_default.php

class ControllerCommonHeader extends Controller {
public function index() {
    // Analytics
    $this->load->model('extension/extension');


    $this->load->model('setting/setting');
    if (isset($this->request->get['store_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) {
        $setting_info = $this->model_setting_setting->getSetting('theme_default', $this->request->get['store_id']);
    }
    if (isset($setting_info['theme_default_product_description_length'])) {
        $data['theme_default_product_description_length'] = $this->config->get('theme_default_product_description_length');
    }



    $data['analytics'] = array();

    $analytics = $this->model_extension_extension->getExtensions('analytics');

    foreach ($analytics as $analytic) {
        if ($this->config->get($analytic['code'] . '_status')) {
            $data['analytics'][] = $this->load->controller('extension/analytics/' . $analytic['code'], $this->config->get($analytic['code'] . '_status'));
        }
    }

    if ($this->request->server['HTTPS']) {
        $server = $this->config->get('config_ssl');
    } else {
        $server = $this->config->get('config_url');
    }

    if (is_file(DIR_IMAGE . $this->config->get('config_icon'))) {
        $this->document->addLink($server . 'image/' . $this->config->get('config_icon'), 'icon');
    }

    $data['title'] = $this->document->getTitle();

    $data['base'] = $server;
    $data['description'] = $this->document->getDescription();
    $data['keywords'] = $this->document->getKeywords();
    $data['links'] = $this->document->getLinks();
    $data['styles'] = $this->document->getStyles();
    $data['scripts'] = $this->document->getScripts();
    $data['lang'] = $this->language->get('code');
    $data['direction'] = $this->language->get('direction');

    $data['name'] = $this->config->get('config_name');

    if (is_file(DIR_IMAGE . $this->config->get('config_logo'))) {
        $data['logo'] = $server . 'image/' . $this->config->get('config_logo');
    } else {
        $data['logo'] = '';
    }

    $this->load->language('common/header');

    $data['text_home'] = $this->language->get('text_home');

    // Wishlist
    if ($this->customer->isLogged()) {
        $this->load->model('account/wishlist');

        $data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), $this->model_account_wishlist->getTotalWishlist());
    } else {
        $data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), (isset($this->session->data['wishlist']) ? count($this->session->data['wishlist']) : 0));
    }

    $data['text_shopping_cart'] = $this->language->get('text_shopping_cart');
    $data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', true), $this->customer->getFirstName(), $this->url->link('account/logout', '', true));

    $data['text_account'] = $this->language->get('text_account');
    $data['text_register'] = $this->language->get('text_register');
    $data['text_login'] = $this->language->get('text_login');
    $data['text_order'] = $this->language->get('text_order');
    $data['text_transaction'] = $this->language->get('text_transaction');
    $data['text_download'] = $this->language->get('text_download');
    $data['text_logout'] = $this->language->get('text_logout');
    $data['text_checkout'] = $this->language->get('text_checkout');
    $data['text_category'] = $this->language->get('text_category');
    $data['text_all'] = $this->language->get('text_all');

    $data['home'] = $this->url->link('common/home');
    $data['wishlist'] = $this->url->link('account/wishlist', '', true);
    $data['logged'] = $this->customer->isLogged();
    $data['account'] = $this->url->link('account/account', '', true);
    $data['register'] = $this->url->link('account/register', '', true);
    $data['login'] = $this->url->link('account/login', '', true);
    $data['order'] = $this->url->link('account/order', '', true);
    $data['transaction'] = $this->url->link('account/transaction', '', true);
    $data['download'] = $this->url->link('account/download', '', true);
    $data['logout'] = $this->url->link('account/logout', '', true);
    $data['shopping_cart'] = $this->url->link('checkout/cart');
    $data['checkout'] = $this->url->link('checkout/checkout', '', true);
    $data['contact'] = $this->url->link('information/contact');
    $data['telephone'] = $this->config->get('config_telephone');

    // Menu
    $this->load->model('catalog/category');

    $this->load->model('catalog/product');

    $data['categories'] = array();

    $categories = $this->model_catalog_category->getCategories(0);

    foreach ($categories as $category) {
        if ($category['top']) {
            // Level 2
            $children_data = array();

            $children = $this->model_catalog_category->getCategories($category['category_id']);

            foreach ($children as $child) {
                $filter_data = array(
                    'filter_category_id'  => $child['category_id'],
                    'filter_sub_category' => true
                );

                $children_data[] = array(
                    'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
                    'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
                );
            }

            // Level 1
            $data['categories'][] = array(
                'name'     => $category['name'],
                'children' => $children_data,
                'column'   => $category['column'] ? $category['column'] : 1,
                'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])
            );
        }
    }

    $data['language'] = $this->load->controller('common/language');
    $data['currency'] = $this->load->controller('common/currency');
    $data['search'] = $this->load->controller('common/search');
    $data['cart'] = $this->load->controller('common/cart');

    // For page specific css
    if (isset($this->request->get['route'])) {
        if (isset($this->request->get['product_id'])) {
            $class = '-' . $this->request->get['product_id'];
        } elseif (isset($this->request->get['path'])) {
            $class = '-' . $this->request->get['path'];
        } elseif (isset($this->request->get['manufacturer_id'])) {
            $class = '-' . $this->request->get['manufacturer_id'];
        } elseif (isset($this->request->get['information_id'])) {
            $class = '-' . $this->request->get['information_id'];
        } else {
            $class = '';
        }

        $data['class'] = str_replace('/', '-', $this->request->get['route']) . $class;
    } else {
        $data['class'] = 'common-home';
    }

    return $this->load->view('common/header', $data);
}

}

catalog / controller / common / header.php

html { 
    font-family: 'Not the Default AmCharts Font';
}

}

目录/视图/主题/默认/普通/ header.tpl
我做了回应$ theme_default_product_description_length

1 个答案:

答案 0 :(得分:0)

您需要编辑主题文件:catalog\view\theme\themename\template\common\header.tpl及其控制器文件catalog\controller\common\header.php以显示数据。要获取数据,您可以查看处理屏幕截图中页面的控制器文件:

\admin\controller\extension\theme\theme_default.php

修改

经过测试,更简单的方法就是一行(你可以删除我给你的其他代码 - 抱歉)

$data['theme_default_product_description_length'] = $this->config->get('theme_default_product_description_length');

您现在应该可以在echo $theme_default_product_description_length;文件

上使用header.tpl

尝试查找使用它的位置总是有用的,查看数据的存储/检索方式,然后将代码应用到所需的修改