Перейти к содержанию
denrr

Не могу найти, где присваивается значение links объекта document

Рекомендуемые сообщения

Здравствуйте!

У меня на сайте в header на все страницы выводятся теги <meta> кодом из catalog\view\theme\sport\template\common\header.tpl, из переменной $links.

<?php foreach ($links as $link) { ?>
<link href="<?php echo $link['href']; ?>" rel="<?php echo $link['rel']; ?>" />

Она инициализируется в catalog\controller\common\header.php  как

 $this->data['links'] = $this->document->getLinks();

Я хочу их поменять, но не могу найти, где происходит присвоение значения document->links

Искал в system\library\document.php, но там только описание класса. В index.php тоже не нашел.

Откуда берется значение в переменной document->links?

Изменено пользователем denrr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как пример

$this->document->addLink($this->url->link('product/product', 'product_id=' . $this->request->get['product_id']), 'canonical');

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, я понимаю как добавить, но хотелось бы понять откуда там берутся те ссылки которые уже есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, denrr сказал:

Да, я понимаю как добавить, но хотелось бы понять откуда там берутся те ссылки которые уже есть?

Они добавлены таким же способом

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ок, я понимаю механизм, не могу найти конкретный файл, который их туда пишет. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

system/library/document.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
    private $links = array();

    public function addLink($href, $rel) {
        $this->links[md5($href)] = array(
            'href' => $href,
            'rel'  => $rel
        );    

Это только инициализация пустого массива и методы get/set для $links.

в файле system/library/document.php ничего кроме описания нет.

header.tpl мне выводит из переменной links некоторые значения

 

 

Но я нашел этот файл, который в эту переменную забивает информацию, может кому понадобится

\catalog\controller\product\product.php

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 минут назад, denrr сказал:

Но я нашел этот файл, который в эту переменную забивает информацию, может кому понадобится

в эту переменную, как вы говорите, может добавить любой контроллер

11 минут назад, denrr сказал:

Это только инициализация пустого массива и методы get/set для $links.

а addStyle() и addScript()  это что по вашему?

в контроллере(любом) добавляются скрипты и стили в свойства links и styles  класса  document

$this->document->addLink(....);
$this->document->addScript(....);

в header.php  достаются данные из   document->links и document->scripts  и записываются в переменные для передачи в шаблон

$data['links'] = $this->document->getLinks();
$data['styles'] = $this->document->getStyles();

и в шаблоне выводятся

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.