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

p1kka

Пользователь
  • Публикаций

    11
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные p1kka

  1. Я себе сделал комментарии к статьям так:

    1. Добавил в базу таблицу articles_comments c такими же полями, как и products_comments, только поле product_id переименовал в article_id

    2. Добавил в Articles.class.php в функцию fetch_item($url):

    if(isset($this->user->name))
    {
    $this->smarty->assign('name', $this->user->name);
    }
    ### Принимает отзыв
    if (isset($_POST['comment']))
    {
    $name = trim(strip_tags($_POST['name']));
    $comment = trim(strip_tags($_POST['comment']));
    if ($this->gd_loaded && ($_SESSION['captcha_code'] != $_POST['captcha_code'] || empty($_POST['captcha_code'])))
    {
    $this->error = 'Неверно введено число с картинки';
    }
    elseif (empty($name))
    {
    $this->error = 'Введите имя';
    }
    elseif (empty($comment))
    {
    $this->error = 'Пустой комментарий';
    }
    else
    {
    $query = sql_placeholder("INSERT INTO articles_comments (date, article_id, ip, name, comment) VALUES(NOW(), ?, ?, ?, ?)", $item->article_id, $_SERVER['REMOTE_ADDR'], $name, $comment);
    $this->db->query($query);
    }
    // Приберем сохраненную капчу, иначе можно отключить загрузку рисунков и постить старую
    unset($_SESSION['captcha_code']);

    if($this->error)
    {
    $this->smarty->assign('name', $name);
    $this->smarty->assign('comment', $comment);
    }
    }


    // Устанавливаем метатеги для страницы с этой новостью
    $this->title = $item->meta_title;
    $this->keywords = $item->meta_keywords;
    $this->description = $item->meta_description;

    // Комментарии
    $query = sql_placeholder("SELECT *, DATE_FORMAT(date, '%d.%m.%Y') as date FROM articles_comments WHERE article_id=? ORDER BY comment_id DESC", $item->article_id);
    $this->db->query($query);
    $comments = $this->db->results();

    // Передаем в шаблон
    $this->smarty->assign('article', $item);
    $this->smarty->assign('comments', $comments);
    $this->body = $this->smarty->fetch('article.tpl');
    return $this->body;
    }
    }


    3. Добавил в article.tpl

    <div id="comments">
    <a name=comments></a>

    <!-- Список каментов /-->
    <h2>Комментарии к статье</h2>
    {if $comments}
    {foreach from=$comments item=c}

    <!-- Отдельный камент /-->
    <div class="comment_pack">
    <p><span class="comment_name">{$c->name|escape}</span> <span class="comment_date">{$c->date|escape}</span></p>
    <p class="comment_text" tooltip=comment comment_id={$c->comment_id}>{$c->comment|escape|nl2br}</p>
    </div>
    <!-- Отдельный камент #End /-->

    {/foreach}
    {else}
    Пока нет ни одного комментария
    {/if}
    <!-- Список каментов #End /-->

    <h2>Прокомментировать</h2>

    {if $error}
    <div id="error_block"><p>{$error}</p></div>
    {/if}


    <!-- Форма отзыва /-->
    <form action='{$smarty.server.REQUEST_URI}#comments' method=post>

    <!-- Текст камента /-->
    <p><textarea class="comment_textarea" format='.+' notice='Введите комментарий' name=comment>{$comment|escape}</textarea></p>
    <!-- Имя комментатора /-->
    <p class="comment_username">Ваше имя
    <input type="text" class="comment_username" name=name value="{$name|escape}" format='.+' notice='Введите имя' />
    </p>

    <!-- Капча /-->
    {if $gd_loaded}
    <div class="captcha">
    <img src="captcha/image.php?t={math equation='rand(10,10000)'}" alt=""/>
    <p>Число:</p>
    <p><input type="text" name=captcha_code format='.+' notice='Введите число с картинки' /></p>
    </div>
    {/if}

    <p><input type="submit" value="Отправить" class="comment_submit"/></p>
    </form>
    <!-- Форма отзыва #End /-->

    </div>


    4. Все работает

  2. Если есть хотя бы общее представление о программировании (даже не 1с), то можно и самому дописать. Я настроил ежедневную выгрузку остатков и отчета о продажах из 1С УТ 8.1 в свою симплу просто немного погуглив.

  3. Если бы заявленные доработки работали - еще куда ни шло. А выложить 200 баксов и узнать, что партнерка не работает, внутренний счет покупателя не работает, скидки не работают - это сурово.

×
×
  • Создать...