@YoManYo
*

Нужен совет по оформлению и выводу данных из БД?

Приветствую. Пишу модуль комментариев чисто для портфолио. Есть 2-а нюанса.

1-й Я не знаю как красиво оформить шаблон который выводит мои древовидные комментарии. Этот шаблон находится в переменной $lavel
2-е Не получается вставить <?php echo $item['какие-то данные из БД'] ?> из-за одинарных кавычек $lavel = '___';. Может быть экранирование нужно какое-то? Вывести аватар, дату, автора и сам комментарий у меня не выходит. Помогите =)

/**
     * Шаблон для вывода комментарие в виде дерева
     */
    public static function tplComments($comment)
    {
        $lavel  = '<li class="comment-item">
                    <a class="pull-left" href="#">
                    <img class="media-object comment-avatar" src=" /images/user-avatar.png" alt="" width="50" height="50"></a>
                    <div class="comm-body">
                        <div class="comment-item-data">
                            <div class="comment-author">
                               <a href="#">John Doe</a>
                            </div>
                            Feb 9, 2014, at 10:23<span class="separator">&mdash;</span>
                            <a href="#"><i class="fa fa-comment"></i>&nbsp;Reply</a>
                            </div>
            
                            <p>
                            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque at magna ut ante eleifend eleifend.
                            </p>
                    </div>
                    ';

        if (isset($comment['childs'])) {
            $lavel .= '<ul>' . self::showCat($comment['childs']) . '</ul>';
        }
        $lavel  .= '</li>';

        return $lavel ;
    }
  • Вопрос задан
  • 146 просмотров
Пригласить эксперта
Ответы на вопрос 2
edli007
@edli007
full stack, team lead
Вы свой фреймворк пишите? обычно любой фреймворк имеет средства шаблонизации, чаще всего это простой вынос html в отдельный файл.

Но если таки делаете, то вам нужен буфер вывода, и нужно создать отдельную облать видимости для шаблона. Тогда вы будете передавать туда просто переменные а хтмл уже будет там, надо только вставить в нужные места эти перменные.
Ответ написан
@slavabars
Веб программист
public static function tplComments($comment)
    {
        $lavel  = '<li class="comment-item">
                    <a class="pull-left" href="#">
                    <img class="media-object comment-avatar" src=" /images/user-avatar.png" alt="" width="50" height="50"></a>
                    <div class="comm-body">
                        <div class="comment-item-data">
                            <div class="comment-author">
                               <a href="#">'.$comment['name'].'</a>
                            </div>
                            '.$comment['date'].'<span class="separator">&mdash;</span>
                            <a href="#"><i class="fa fa-comment"></i>&nbsp;Reply</a>
                            </div>
            
                            <p>
                            '.$comment['text'].'
                            </p>
                    </div>
                    ';

        if (isset($comment['childs'])) {
            $lavel .= '<ul>' . self::showCat($comment['childs']) . '</ul>';
        }
        $lavel  .= '</li>';

        return $lavel ;
    }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы