calvin Опубликовано 5 сентября, 2013 Жалоба Поделиться Опубликовано 5 сентября, 2013 Всем привет! Возникла идея сделать достаточно большое описание категрий товаров. Хочу выводить его двумя блоками - 1-ый блок (первые 2 абзаца) над списком товаров, 2-ой блок (оставшийся текст) - под списком товаров. Описание категории выводится в products.tpl следующим простым кодом: {$category->description} Как в tpl-файле выделить из текста описания категории первые два абзаца (до 3-го патерна "<p>") и наоборот - весь оставшийся текст начиная с 3-го паттерна "<p>"? Цитата Ссылка на сообщение Поделиться на другие сайты
mart Опубликовано 5 сентября, 2013 Жалоба Поделиться Опубликовано 5 сентября, 2013 Делал недавно сайт - http://store.modress.ru/warranty - нашел интересное решение http://welcome.totheinter.net/columnizer-jquery-plugin/Рекомендую. Цитата Ссылка на сообщение Поделиться на другие сайты
calvin Опубликовано 5 сентября, 2013 Автор Жалоба Поделиться Опубликовано 5 сентября, 2013 Спасибо, mart, интересный скрипт. Но он другое делает - представляет текст в виде 2-х и более колонок. Мне же надо разбить его на 2 куска, между которыми будет ещё другой контент. Цитата Ссылка на сообщение Поделиться на другие сайты
calvin Опубликовано 5 сентября, 2013 Автор Жалоба Поделиться Опубликовано 5 сентября, 2013 Для решения этой задачи добавил в файле 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 Что не так? Цитата Ссылка на сообщение Поделиться на другие сайты
dkoz Опубликовано 6 сентября, 2013 Жалоба Поделиться Опубликовано 6 сентября, 2013 Делал недавно сайт - http://store.modress.ru/warranty - нашел интересное решение http://welcome.totheinter.net/columnizer-jquery-plugin/Рекомендую. http://store.modress.ru/ - хорошая работа. Понравился сайт. Цитата Ссылка на сообщение Поделиться на другие сайты
calvin Опубликовано 7 сентября, 2013 Автор Жалоба Поделиться Опубликовано 7 сентября, 2013 А вообще-то вместо таких ухищрений лучше было бы в админке добавить поле Описание2. Проще, универсальней... Так и хотел сначала сделать, но не хотелось админку ещё редактировать. Уже там столько изменений, что и сам запутался ... Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.