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

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 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

  • Завсегдатай
  • 1492
  • 24 / 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

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

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 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

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

fsv

  • Moderator
  • 2765
  • 402 / 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

  • Завсегдатай
  • 1492
  • 24 / 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
  • 2765
  • 402 / 2
Re: доп поле в категории товара
« Ответ #13 : 09.02.2016, 13:55:48 »
Код
if (!empty($desc[1])){
Если не будет 2-го элемента в массиве, то получите как минимум notice.
Код
if ( isset($desc[1]) && !empty($desc[1]) ){

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

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 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

  • Завсегдатай
  • 1492
  • 24 / 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 определяет только то, что переменная не пустая, но она может быть вовсе не задана)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не отображаются товары в категории

Автор iZacNT

Ответов: 0
Просмотров: 702
Последний ответ 23.06.2023, 12:20:49
от iZacNT
Как вывести ID товара в описании товара?

Автор Stasweb

Ответов: 8
Просмотров: 2365
Последний ответ 28.11.2022, 23:22:27
от Evgen Kulibin
Joomla 3 + VM + Universal AJAX Live Search - как вывести картики товара в поиске?

Автор PSN

Ответов: 10
Просмотров: 7711
Последний ответ 27.03.2022, 17:29:00
от Evgen Kulibin
Как сделать - Вывод модуля на всех страницах - Кроме в карточке товара?

Автор artem_wrong

Ответов: 15
Просмотров: 1565
Последний ответ 15.02.2022, 15:07:34
от beliyadm
Перестали выводиться категории

Автор sergspb

Ответов: 0
Просмотров: 1220
Последний ответ 12.02.2022, 12:53:31
от sergspb