0 Пользователей и 1 Гость просматривают эту тему.
  • 17 Ответов
  • 732 Просмотров
*

Stasweb

  • Завсегдатай
  • 1452
  • 23 / 0
Кто то делал дополнительное поле в описании категории товара


подскажите как добавить такое поле или ссылку на материал подкиньте
*

Liss

  • Захожу иногда
  • 238
  • 10 / 0
Re: доп поле в категории товара
« Ответ #1 : 09.02.2016, 11:39:50 »
если нужно описание разбить на два (например, до списка товаров и после), то используй разделитель (например тэг <hr>). перед выводом делай разбор строки
Код
$desc = explode('<hr>', $this->category->category_description);

получишь два блока
$desc[0]
$desc[1]
вывести которые можно в разных местах
*

Stasweb

  • Завсегдатай
  • 1452
  • 23 / 0
Re: доп поле в категории товара
« Ответ #2 : 09.02.2016, 11:49:40 »
То есть в /html/com_virtuemart/category/default.php пишу так
Код
<div class="category_description">
<?php
//echo $this->category->category_description;
$desc = explode('<hr>', $this->category->category_description);
echo $desc[0];
?>
</div>
и ниже товаров
Код
<div class="category_description">
<?php
echo $desc[1];
?>
</div>
так
*

Liss

  • Захожу иногда
  • 238
  • 10 / 0
Re: доп поле в категории товара
« Ответ #3 : 09.02.2016, 11:59:29 »
именно
только <hr> нужно будет проставить в описании всех категорий, даже там, где дробить описание не нужно

описание 1 <hr> описание 2
описание 1 <hr>
<hr> описание 2

ну и само собой перед выводом делать проверку
Код
if (!empty($desc[0])){
echo $desc[0]
}

Код
if (!empty($desc[1])){
echo $desc[1]
}
*

Stasweb

  • Завсегдатай
  • 1452
  • 23 / 0
Re: доп поле в категории товара
« Ответ #4 : 09.02.2016, 12:10:09 »
То есть в старых где сейчас есть описание надо будет в конец добавлять <hr>
*

Stasweb

  • Завсегдатай
  • 1452
  • 23 / 0
Re: доп поле в категории товара
« Ответ #5 : 09.02.2016, 13:20:26 »
Таким способом не помогло
Код
<div class="category_description">
<?php
echo $this->category->category_description;
// $desc = explode('<hr>', $this->category->category_description);
//    if (!empty($desc[0])){
//     echo $desc[0]
//          }
?>
</div>
_____________________________________________________
<div class="category_description">
<?php
//if (!empty($desc[1])){
//echo $desc[1]
//}
?>
</div>
Просто пустую страницу показал.
Текст я хочу поделить на этой странице можно было бы его просто под товары но вот как с другими категориями тут вот баннер есть и получается что он также сползет в низ.
*

Liss

  • Захожу иногда
  • 238
  • 10 / 0
Re: доп поле в категории товара
« Ответ #6 : 09.02.2016, 13:28:24 »
пустая страница из-за ошибки синтаксиса, что-то не то пишешь
покажи код шаблона полностью
*

Stasweb

  • Завсегдатай
  • 1452
  • 23 / 0
Re: доп поле в категории товара
« Ответ #7 : 09.02.2016, 13:34:45 »
Спойлер
[свернуть]
*

fsv

  • Moderator
  • 2669
  • 384 / 2
Re: доп поле в категории товара
« Ответ #8 : 09.02.2016, 13:39:59 »
В старых не надо в описание добавлять. Если в тексте нет вашего разделителя, весь текст будет в первом элементе получаемого массива.
В качестве разделителя не используйте тег, используйте символ, который вы в описании точно не будете использовать. Например, | .
P.S. код под спойлером не смотрел, способ рабочий, учите азы.
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

Liss

  • Захожу иногда
  • 238
  • 10 / 0
Re: доп поле в категории товара
« Ответ #9 : 09.02.2016, 13:44:39 »
Код
<div class="category_description">
  <?php
    if (!empty($this->category->category_description)) {
      $desc = explode('<hr>', $this->category->category_description);
      if (!empty($desc[0])){
        echo $desc[0];
      }
    }
  ?>
</div>
*

Stasweb

  • Завсегдатай
  • 1452
  • 23 / 0
Re: доп поле в категории товара
« Ответ #10 : 09.02.2016, 13:49:35 »
А вторую часть так и оставляю
Код
<div class="category_description">
<?php
if (!empty($desc[1])){
echo $desc[1]
}
?>
</div>
*

Liss

  • Захожу иногда
  • 238
  • 10 / 0
Re: доп поле в категории товара
« Ответ #11 : 09.02.2016, 13:51:08 »
В старых не надо в описание добавлять. Если в тексте нет вашего разделителя, весь текст будет в первом элементе получаемого массива.
думаю, в этом будет и проблема. верху должен быть баннер на некоторых страницах, а основной текст - внизу - на всех страницах
*

Liss

  • Захожу иногда
  • 238
  • 10 / 0
Re: доп поле в категории товара
« Ответ #12 : 09.02.2016, 13:52:15 »
А вторую часть так и оставляю

нет, так же как верхнюю только с $desc[1]
*

fsv

  • Moderator
  • 2669
  • 384 / 2
Re: доп поле в категории товара
« Ответ #13 : 09.02.2016, 13:55:48 »
Код
if (!empty($desc[1])){
Если не будет 2-го элемента в массиве, то получите как минимум notice.
Код
if ( isset($desc[1]) && !empty($desc[1]) ){

Цитировать
думаю, в этом будет и проблема. верху должен быть баннер на некоторых страницах, а основной текст - внизу - на всех страницах
Естественно, ЕСЛИ не надо, ТО не будет. А что там на конкретном сайте надо/не надо, не смотрел.
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

Stasweb

  • Завсегдатай
  • 1452
  • 23 / 0
Re: доп поле в категории товара
« Ответ #14 : 09.02.2016, 14:17:38 »
Все отлично все заработало.
Вот такой еще вопрос если понадобится делить на 3 части таким же путем идти
Код
<div class="category_description">
<?php
//echo $this->category->category_description;
  if (!empty($this->category->category_description)) {
      $desc = explode('|', $this->category->category_description);
      if (!empty($desc[2])){
        echo $desc[2];
      }
    }
?>
</div>
*

Liss

  • Захожу иногда
  • 238
  • 10 / 0
Re: доп поле в категории товара
« Ответ #15 : 09.02.2016, 14:19:27 »
да, только разделитель в описании ставить уже 2 раза
*

Stasweb

  • Завсегдатай
  • 1452
  • 23 / 0
Re: доп поле в категории товара
« Ответ #16 : 09.02.2016, 14:21:32 »
Все спасибо понял
*

Liss

  • Захожу иногда
  • 238
  • 10 / 0
Re: доп поле в категории товара
« Ответ #17 : 09.02.2016, 14:25:15 »
и к совету FSV прислушайся, вторую (и далее) часть описания сделай так
Код
<div class="category_description">
  <?php
    if (!empty($this->category->category_description)) {
      $desc = explode('|', $this->category->category_description);
      if (isset($desc[1]) && !empty($desc[1])){
        echo $desc[1];
      }
    }
  ?>
</div>

т.е. используй команду isset в проверке, она определяет, задана ли переменная (!empty определяет только то, что переменная не пустая, но она может быть вовсе не задана)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Привязка кода как id как категории так и меню

Автор Stasweb

Ответов: 8
Просмотров: 110
Последний ответ 18.11.2020, 12:37:06
от Stasweb
Дублируются категории, как исправить

Автор Stasweb

Ответов: 2
Просмотров: 91
Последний ответ 05.11.2020, 09:14:01
от Stasweb
Дублируются страницы карточке товара и категорий

Автор djed9

Ответов: 3
Просмотров: 170
Последний ответ 28.09.2020, 05:43:57
от rsn
Поле вариант и дочерние товары

Автор snikolai

Ответов: 5
Просмотров: 248
Последний ответ 19.08.2020, 14:08:38
от sivers
Фото товара

Автор Wargoth

Ответов: 12
Просмотров: 429
Последний ответ 25.06.2020, 14:33:47
от Wargoth