Перейти к содержанию
Официальный форум поддержки Simpla

Как разбить описание категории на два блока


Рекомендуемые сообщения

Всем привет!

 

Возникла идея сделать достаточно большое описание категрий товаров. Хочу выводить его двумя блоками - 1-ый блок (первые 2 абзаца) над списком товаров, 2-ой блок (оставшийся текст) - под списком товаров.

 

Описание категории выводится в products.tpl следующим простым кодом:

{$category->description}

Как в tpl-файле выделить из текста описания категории первые два абзаца (до 3-го патерна "<p>") и наоборот - весь оставшийся текст начиная с 3-го паттерна "<p>"?

 

Ссылка на сообщение
Поделиться на другие сайты

Делал недавно сайт - http://store.modress.ru/warranty - нашел интересное решение http://welcome.totheinter.net/columnizer-jquery-plugin/
Рекомендую.

Ссылка на сообщение
Поделиться на другие сайты

Спасибо, mart, интересный скрипт. Но он другое делает - представляет текст в виде 2-х и более колонок.

 

Мне же надо разбить его на 2 куска, между которыми будет ещё другой контент.

Ссылка на сообщение
Поделиться на другие сайты

Для решения этой задачи добавил в файле api/categories.php в функцию 

private function init_categories()
 
сразу после строк
		$this->db->query($query);
		$categories = $this->db->results();

 

следующий код:

		foreach($categories as $category) {
			$descr2 = "";
			if ($category->description) {
				$pos = strpos ($category->description, "<p>");
				if (!$pos) {
					$pos = strpos ($category->description, "<p>", $pos+3);
					if (!$pos) {
						$pos = strpos ($category->description, "<p>", $pos+3);
						if (!$pos) {
							$descr1 = substr($category->description, 1, $pos-1);
							$descr2 = substr($category->description, $pos-1);
						}
						else {
							$descr1 = $category->description;
						}
					}
					else {
						$descr1 = $category->description;
					}
				} 
				else {
					$descr1 = $category->description;
				}
			} 
			else {
				$descr1 = "";

			}
			$category->descr1 = $descr1;
			$category->descr2 = $descr2;
		}

В надежде потом эти  блоки отобазить в tpl-файле через {$category->descr1} и {$category->descr2}.

 

Но - не работает. 8-(

 

Более того - выдаёт предупреждение в верху страницы

Warning: Cannot modify header information - headers already sent by (output started at /home/mysite/public_html/api/Categories.php:1) in /home/mysite/public_html/index.php on line 26

Что не так?

Ссылка на сообщение
Поделиться на другие сайты

Делал недавно сайт - http://store.modress.ru/warranty - нашел интересное решение http://welcome.totheinter.net/columnizer-jquery-plugin/

Рекомендую.

 

http://store.modress.ru/ - хорошая работа. Понравился сайт.

Ссылка на сообщение
Поделиться на другие сайты

 

А вообще-то вместо таких ухищрений лучше было бы в админке добавить поле Описание2. Проще, универсальней...

 

 

Так и хотел сначала сделать, но не хотелось админку ещё редактировать. Уже там столько изменений, что и сам запутался ... :(

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...