Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Передача значения с одного файла в другой


RedMan

Recommended Posts

Всем привет. Начинающий программист, учусь не на кошках а на рабочем сайте.
Есть файл /template/stories/show/tpl который отвечает за вывод статей. В статье есть картинка. Вот кусок кода:
<?php $tbData->slotStart('stories/show.page_content'); ?>

<article class="tb_article tb_thumbnail_top">
  <?php if ($image): ?>
  <div class="thumbnail">
    <span class="image-holder" style="max-width: <?php echo $image_width; ?>px;">
    <span style="padding-top: <?php echo round($image_height / $image_width, 4) * 100; ?>%;">
      <img
        <?php if (!$tbData->system['image_lazyload']): ?>
        src="<?php echo $image; ?>"
        <?php else: ?>
        src="<?php echo $tbData->theme_catalog_image_url; ?>pixel.gif"
        data-src="<?php echo $image; ?>"
        class="lazyload"
        <?php endif; ?>
        width="<?php echo $image_width; ?>"
        height="<?php echo $image_height; ?>"
        alt="<?php echo $heading_title; ?>"
        style="margin-top: -<?php echo round($image_height / $image_width, 4) * 100; ?>%" />

      />
    </span>
    </span>
  </div>
  <?php endif; ?>
Есть файл template/tb/header.tpl который подключается к основному header.tpl, и отвечает за микроразметку соц сетей. Вот кусок:
        if(substr_count($gdeya, 'stories/show'))
        {
            echo "<meta property='og:title' content='$title'>";
            echo "<meta property='og:description' content='$description'>";
            echo "<meta property='og:type' content='article'>";
            //echo "<meta property='og:image' content='$img'>";
            if($canonical[0]['rel'] != "icon")
                echo "<meta property='og:url' content=".$canonical[0]['href'].">";
        }
Вот сюда <meta property='og:image' content='$img'>"; мне нужно передать урл изображения с нужной статьи. Но этот урл находится на другой странице, на show/tpl.
Подскажите, пожалуйста, как можно получить в файле header.tpl адрес того изображения. Спасибо)

Надіслати
Поділитися на інших сайтах


Елки палки..

<?php $tbData->slotStart('stories/show.page_content'); ?>

<?php if (!$tbData->system['image_lazyload']): ?>

<?php echo $tbData->theme_catalog_image_url; ?>

 

Это не WP это Opencart, для начала надо придерживаться код стайла опенкарта. Посмотрите в соседние файлы как там все сделано.

Что бы передать из любого контроллера в header сделайте это через $this->document

Посмотрите как это сделано с title на любых страницах

Надіслати
Поділитися на інших сайтах

22 минуты назад, Exploits сказал:

Елки палки..

<?php $tbData->slotStart('stories/show.page_content'); ?>

<?php if (!$tbData->system['image_lazyload']): ?>

<?php echo $tbData->theme_catalog_image_url; ?>

 

Это не WP это Opencart, для начала надо придерживаться код стайла опенкарта. Посмотрите в соседние файлы как там все сделано.

Что бы передать из любого контроллера в header сделайте это через $this->document

Посмотрите как это сделано с title на любых страницах

Спасибо, но все равно не понимаю( Куда этот код нужно вставлять? Собственно он уже есть на странице show.tpl. А что нужно написать в header.tpl чтобы подставился урл?

Можете пожалуйста на этом примере показать? Извините, но я еще туповат пока..

Змінено користувачем RedMan
Надіслати
Поділитися на інших сайтах


48 минут назад, RedMan сказал:

Куда этот код нужно вставлять?

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

Надіслати
Поділитися на інших сайтах

3 минуты назад, stickpro сказал:

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

если бы мне один раз показали, то в следующий раз я уже буду знать..

Надіслати
Поділитися на інших сайтах


24 минуты назад, RedMan сказал:

если бы мне один раз показали, то в следующий раз я уже буду знать..

вам уже сказали, где посмотреть пример, смотрите контроллеры

Надіслати
Поділитися на інших сайтах

Так сможет кто-то все же подскажет как правильно это сделать? Если кто из ua, могу на карту привата скинуть благодарность немного) Помогите, пожалуйста..

Надіслати
Поділитися на інших сайтах


В 29.11.2018 в 11:45, Exploits сказал:

Елки палки..

<?php $tbData->slotStart('stories/show.page_content'); ?>

<?php if (!$tbData->system['image_lazyload']): ?>

<?php echo $tbData->theme_catalog_image_url; ?>

 

Это не WP это Opencart, для начала надо придерживаться код стайла опенкарта. Посмотрите в соседние файлы как там все сделано.

Что бы передать из любого контроллера в header сделайте это через $this->document

Посмотрите как это сделано с title на любых страницах

Здравствуйте еще раз. Просто у меня вот такой код полностью:

Спойлер

<?php $tbData->slotFilter('common/header.scripts.filter', $scripts); ?>
<?php $tbData->slotFilter('common/header.styles.filter', $styles); ?>
<?php $tbData->slotFlag('catalog.template.header'); ?>
<?php if (!isset($tbData['seo_settings']['facebook_opengraph']) || !empty($tbData['seo_settings']['facebook_opengraph'])): ?>
<?php
    //echo "$gdeya";
    $canonical = array_values($links);
    $buf = $tbData->fbMeta;
    if(substr_count($buf, '<meta property="og:type" content="product" />'))
    {
        echo $buf;
    }
    else
    {
        if(substr_count($gdeya, 'stories/show'))
        {
            echo "<meta property='og:title' content='$title'>";
            echo "<meta property='og:description' content='$description'>";
            echo "<meta property='og:type' content='article'>";
            //echo "<meta property='og:image' content='$img'>";
            if($canonical[0]['rel'] != "icon")
                echo "<meta property='og:url' content=".$canonical[0]['href'].">";
        }
        else
        {
            echo "<meta property='og:title' content='$title'>";
            echo "<meta property='og:description' content='$description'>";
            echo "<meta property='og:type' content='website'>";
            if($canonical[0]['rel'] != "icon")
                echo "<meta property='og:url' content=".$canonical[0]['href'].">";
            echo "<meta property='og:image' content='$logo'>";
        }
    }
?>
<?php endif; ?>
<?php if (!isset($tbData['seo_settings']['twitter_card']) || !empty($tbData['seo_settings']['twitter_card'])): ?>
<?php echo $tbData->twitterMeta; ?>
<?php endif; ?>

И когда я вписываю эти условия, что Вы написали выше, то появляются очень разные ошибки.. Ну вот как мне передать в $img правильный путь на нужное изображение со статьи?(

Змінено користувачем RedMan
Надіслати
Поділитися на інших сайтах


Если кодите на Opencart то делайте нормально. Посмотрите как сделано в стандартных контроллерах, шаблонах.

После вас что-то сделать с магазином крайне тяжело из-за такого кода.

Ваш код это какой-то фарш непонятно чего и не по архитектуре опенкарта.

Я рекомендую для начала посмотреть документацию, посмотреть контроллеры, модели, шаблоны что бы понять как все работает и сделать НОРМАЛЬНО.

Вы говорите за какие-то ошибки, они конечно могут быть при таком коде. Смотрите стандарты опенкарта и делайте все как надо.

Надіслати
Поділитися на інших сайтах

15 часов назад, Exploits сказал:

Если кодите на Opencart то делайте нормально. Посмотрите как сделано в стандартных контроллерах, шаблонах.

После вас что-то сделать с магазином крайне тяжело из-за такого кода.

Ваш код это какой-то фарш непонятно чего и не по архитектуре опенкарта.

Я рекомендую для начала посмотреть документацию, посмотреть контроллеры, модели, шаблоны что бы понять как все работает и сделать НОРМАЛЬНО.

Вы говорите за какие-то ошибки, они конечно могут быть при таком коде. Смотрите стандарты опенкарта и делайте все как надо.

дело в том, что писал этот код не я, а кто-то до меня раньше. а мне нужно просто сделать вывод адреса изображения в микроразметку соцсетей для страниц статей блога. сейчас все работает отлично с этим кодом, но когда я пытаюсь по Вашей рекомендации вставить те строки кода для подключения stories/show.page_content то вижу различные ошибки( Сможете мне помочь? Пожалуйста. Как мне получить адрес или стандартного изображения, или если есть выбранное, то адрес его в этом файле header.tpl?

Надіслати
Поділитися на інших сайтах


1 час назад, RedMan сказал:

 

думаю, вам будет полезно ознакомиться с документацией
https://bit.ly/2zDsdVQ

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.