是否可以从目录模板访问管理设置中保存的变量
来自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
答案 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
了
尝试查找使用它的位置总是有用的,查看数据的存储/检索方式,然后将代码应用到所需的修改