Jump to content
Sign in to follow this  
denrr

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

Recommended Posts

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

У меня на сайте в 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?

Edited by denrr

Share this post


Link to post
Share on other sites

Как пример

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

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Только что, denrr сказал:

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

system/library/document.php

Share this post


Link to post
Share on other sites
    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

 

 

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.