[Помогите] Как сделать нормальную заглушку?

Тема в разделе "OpenCart", создана пользователем alex_storm, 20 авг 2013.

  1. alex_storm

    alex_storm дизайн, CSS Команда форума

    Регистрация:
    11 дек 2012
    Сообщения:
    1.120
    Симпатии:
    560
    Хотел сделать нормальную заглушку для вывода описания категорий в футере. Прикол в том, что я в один блок поместил 2 текста. Один для главной страницы, второй - это описание категорий.
    В контроллере пишу код:

    В тплке:

    Все норм работает, когда хожу по категориям и главной. Но когда перехожу на другие страницы сайта выдает: Undefined index: description in catalog/controller/common/footer.php on line 54
     
  2. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    889
    а ты в контролере проверку убери чтоб осталось так
    PHP:
    $this->data['config_text_home'] = html_entity_decode($this->config->get('config_text_home'), ENT_QUOTES'UTF-8');
    $this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES'UTF-8');
     
  3. alex_storm

    alex_storm дизайн, CSS Команда форума

    Регистрация:
    11 дек 2012
    Сообщения:
    1.120
    Симпатии:
    560
    А смысл?? Тогда ошибка будет на всех страницах, там где нет категорий.. Я проверку специально сделал, чтобы проверять на каких страницах сейчас нахожусь.
     
  4. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    889
    Тогда делаеш в контролере
    PHP:
    if (strlen ($_SERVER['REQUEST_URI']) == ) {
    $this->data['text_home_or_not_home'] = html_entity_decode($this->config->get('config_text_home'), ENT_QUOTES'UTF-8');
    } else {
    $this->data['text_home_or_not_home'] = html_entity_decode($category_info['description'], ENT_QUOTES'UTF-8');
    }
    и соответственно в тплке(шабе)
    вот так
    Код:
    <?php if ($text_home_or_not_home) { ?>
     
    <div class="text">
    <?php echo $text_home_or_not_home; ?>
    </div>
     
    <?php } ?>
     
  5. alex_storm

    alex_storm дизайн, CSS Команда форума

    Регистрация:
    11 дек 2012
    Сообщения:
    1.120
    Симпатии:
    560
    Делал и так тоже.. Не помогло... Вот и обратился за помощью...
     
  6. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    889
    Если и то что выше не помогло то либо ты не делал так либо массив category_infoне обявлен в контролере а ты пытаешься вывести из него что то
     
  7. Baco

    Baco Антихронофаг Команда форума

    Регистрация:
    9 окт 2012
    Сообщения:
    648
    Симпатии:
    327
    А не проще поставить отловку на роут, типа:
    Код:
    <?php if ($this->request->get['route'] == 'common/home' ){ ?>
    <?php echo $config_text_home; ?>
    <?php } else  { ?>
    <?php echo $description; ?>
    <?php } ?>