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

Gravatar в комментариях


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

Так мне кажется симпатичнее смотрятся комментарии.

 

1. Прикрепленный плагин для Smarty копируем в папку /Svarty/libs/plugins/

 

2. Добавляем поле email d БД запросом

 

ALTER TABLE `s_comments` ADD `email` VARCHAR( 255 ) NOT NULL AFTER `name`; 

3. В файле /api/Comments.php в запросах выборки в функциях get_comment и get_comments добавляем c.email,

 

4. в файлах /view/BlogView.php и /view/ProductView.php, чтоб не расписывать построчно, заменить строки

 

        // Автозаполнение имени для формы комментария
        if(!empty($this->user))
            $this->design->assign('comment_name', $this->user->name);


        
        // Принимаем комментарий
        if ($this->request->method('post') && $this->request->post('comment'))
        {
            $comment->name = $this->request->post('name');
            $comment->text = $this->request->post('text');
            $captcha_code =  $this->request->post('captcha_code', 'string');
            
            // Передадим комментарий обратно в шаблон - при ошибке нужно будет заполнить форму
            $this->design->assign('comment_text', $comment->text);
            $this->design->assign('comment_name', $comment->name);

на следующие строки

 

        // Автозаполнение имени для формы комментария
        if(!empty($this->user))
            $this->design->assign('comment_name', $this->user->name);
            $this->design->assign('comment_email', $this->user->email);
        
        // Принимаем комментарий
        if ($this->request->method('post') && $this->request->post('comment'))
        {
            $comment->name = $this->request->post('name');
            $comment->email = $this->request->post('email');
            $comment->text = $this->request->post('text');
            $captcha_code =  $this->request->post('captcha_code', 'string');
            
            // Передадим комментарий обратно в шаблон - при ошибке нужно будет заполнить форму
            $this->design->assign('comment_text', $comment->text);
            $this->design->assign('comment_name', $comment->name);
            $this->design->assign('comment_email', $comment->email);

5. Теперь вывод в шаблон, в файлах /design/{шаблон}/html/product.tpl и post.tpl после строк

 

            <!-- Имя и дата комментария-->
            <div class="comment_header">

добавляем строки

 

            {if $comment->email}
                <img src="{gravatar email="{$comment->email}" size="40"}">    
            {else}
                <img src="design/{$settings->theme|escape}/images/default_gravatar.jpg" height="40" width="40">
            {/if}

далее, строки

<label for="comment_name">Имя</label> <input class="input_name" type="text" id="comment_name" name="name" value="{$comment_name|escape}" data-format=".+" data-notice="Введите имя"/><br /> 

заменяем на

 

        <label>Имя</label>
        <input class="input_name" type="text" id="comment_name" name="name" value="{$comment_name}" data-format=".+" data-notice="Введите имя"/>
        <input class="input_name" type="text" id="comment_email" name="email" value="{$comment_email}" placeholder="e-mail"/><br /> 

6. Ну и в папку /design/{шаблон}/images/ добавляем файл default_gravatar.jpg для отображения аватарки по умолчанию.

 

function.gravatar.php

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

Проделал вышеописанное. Ничего не изменилось, кроме одного. Перестали отправлятся комментарии. При отправке ничего не происходит. )

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

Значить, что-то не так сделали, проверьте поэтапно.

1. Плагин Smarty скачали и установили?

2. Внесли изменения в БД?

3. В API добавили обработку поля, в 2-х местах?

4. Сделали изменения в BlogView.php и ProductView.php?

5. Вывод в шаблоне есть?

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

Кроха, в итоге получится, что Пользователь сможет со своего кабинета сменить аватарку?

Если да, то очень полезная вещь.

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

Gravatat, это сервис, где привязывается аватарка к Вашему емейлу, естественно можно зайдя на сервис поменять аватарку, причем для разных групп можно ставить свою аватарку, всего там 4 группы.

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...

3ий пункт еще раз можете обьяснить,ничего не понял!

 

найти запросы и добавить c.email

 

Кроха спасибо, придаст немного живости магазину.

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

Можно проще: 

не нужно загружать аватарку по умолчанию и вместо 

{if $comment->email}
                <img src="{gravatar email="{$comment->email}" size="40"}">    
            {else}
                <img src="design/{$settings->theme|escape}/images/default_gravatar.jpg" height="40" width="40">
            {/if}

вставить

{if $comment->email}
                <img src="{gravatar email="{$comment->email}" size="40" default="mm"}">    
            {else}
                <img src="design/{$settings->theme|escape}/images/default_gravatar.jpg" height="40" width="40">
            {/if}
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

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

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