Динамическая домашняя ссылка для OpenCart

Например, в Wordpress вы можете позвонить домой с помощью:

<?php echo home_url(); ?>

Но в OpenCart я не могу найти подобную функцию. В моем заголовке это работает:

<?php echo $base; ?>

Но не на других шаблонах в моей теме. Кто-нибудь получил глобальную функцию для этого в OpenCart? Или библиотека, которой можно поделиться, было бы идеально!

Работаю с OpenCart 2.0.


person Henric Åkesson    schedule 29.10.2014    source источник


Ответы (5)


Попробуй это,

<?php echo HTTP_SERVER; ?>
person Matricore    schedule 05.11.2014

В контроллере страницы, в моем случае footer.php, я вставил это:

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

$data['base'] = $server;

И затем в моем шаблоне footer.tpl я мог бы использовать:

<?php echo $base; ?>
person Henric Åkesson    schedule 29.10.2014
comment
Это не будет уважать ваши URL-адреса SEO. Если вы просто хотели сделать ссылку на http://yoursite.com/, почему бы просто не использовать /? - person rjdown; 29.10.2014

Правильный способ сделать это в OpenCart — использовать

<?php echo $this->url->link('common/home'); ?>

Обратите внимание, что это добавляет полный URL-адрес и маршрут, а не только /, что невозможно с использованием класса URL-адреса SEO без модификации.

person Jay Gilford    schedule 29.10.2014
comment
Ах пропустил ссылку 2.0. Вам нужно либо установить переменную в контроллере, либо использовать довольно хакерский метод <?php global $url; echo $url->link('common/home'); ?> в вашем шаблоне (не рекомендуется) - person Jay Gilford; 31.10.2014

Скопируйте из controller/common/home/header.php

$this->load->language('common/header');
$data['text_home'] = $this->language->get('text_home');

а также

$data['home'] = $this->url->link('common/home');

Добавьте их в любой контроллер, который им нужен. Скопируйте из header.tpl.

href="<?php echo $home; ?>"

добавьте в любой шаблон, который в этом нуждается.

Разве это не покроет потребности в SEO и ссылках?

person Billy Boyle    schedule 26.11.2014

person    schedule
comment
Как так, мистер СВМРАЖЕШ? У кого-нибудь есть глобальная функция для этого в OpenCart? - person Gavin Simpson; 30.10.2014
comment
@SVMRAJESH Вы должны много узнать о SO и рецензировании. Недостаточно просто увидеть короткий ответ, одну строчку кода, чтобы отметить его - прочитайте также вопрос, включите мозг и подумайте... - person shadyyx; 30.10.2014
comment
Гэвин. Я публиковал аналогичный код, пока не понял, что это OC2. Он больше не работает непосредственно внутри шаблонов :( - person rjdown; 30.10.2014
comment
@rjdown, сейчас я работаю над OC2, и это прямо из одного из существующих модулей. Я использую такую ​​же ссылку в своем собственном шаблоне/модуле, и она отлично работает. Возможно, я что-то упускаю? - person Gavin Simpson; 01.11.2014