Перейти к содержимому


Отзывы для магазина


  • Вы не можете ответить в тему
Сообщений в теме: 56

#21 meta-s

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 33 сообщений
Репутация: 2
Начинающий

Отправлено 23 March 2014 - 08:26 PM

Парни так отзывы ПОД ТОВАРОМ можно ОСУЩЕСТВИТЬ штатными способами магазина... Для чего мудрить новые схемы?

А можно подробней, что за штатные способы?


В настройках магазина поставьте галочку
"Разрешить покупателям оставлять мнения о товаре
Если данная опция включена, покупателям предоставляется возможность оставлять свои комментарии и мнения о товарах"
http://meta-s.ru/product_1060.html да вот любая страница. Это у меня табами выводятся нужные блоки. А изначально отзывы отображаются вверху где-то около названия товара справа.
  • 0

#22 zcz

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 104 сообщений
Репутация: 62
Продвинутый

Отправлено 24 March 2014 - 06:27 AM

Минус данного модуля (Мнения о товаре) - нет промодерации, не приходят оповещения о новом мнении.
  • 1
Пишу, устанавливаю, натягиваю))) pix-art.ru

#23 Lada

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 107 сообщений
Репутация: 7
Начинающий
  • ГородЧита

Отправлено 19 April 2014 - 11:36 AM

Минус данного модуля (Мнения о товаре) - нет промодерации, не приходят оповещения о новом мнении.


А вот если бы сделать такие же, как здесь общие для магазина, НО в подробном описании товара, да так же с рейтингом - звездочками, да вместо Тема, например Город. - вот это было бы ДА...

То есть , например - Имя, Город, Оценка в звездах, Отзыв......

zcz Вы собирались сделать для полного описания товара отзывы - очень бы было нелохо!
  • 0

#24 maxruta

    Пользователь

  • Download User
  • PipPip
  • 13 сообщений
Репутация: 0
Начинающий

Отправлено 23 June 2014 - 06:17 PM

Доброго вечера всем! Поставила данный модуль. Все было хорошо, но сегодня какая-то белеберда в виде множества комментов, можно сказать, не в кассу. Вот как на фото и таких страниц несколько, целый день....Вирус? Или что это? И как с этим бороться?

Прикрепленные файлы

  • Прикрепленный файл  754.jpg   54.01К   47 Количество загрузок:

  • 0

#25 zcz

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 104 сообщений
Репутация: 62
Продвинутый

Отправлено 24 June 2014 - 08:11 AM

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

В общем, так:

файл core/includes/vt.php

В самом верху, после
<?php
вставляем:

if (!isset($_SESSION['fKey']) || empty($_SESSION['fKey'])) {
  $_SESSION['fKey'] = md5(mt_rand(11245, 5469887));
}
$lfKey = $_SESSION['fKey'];
$smarty->assign('fKey', $lfKey);

далее в этом файле находим

if ( isset($_POST["vt_save"]))

заменяем на

if ( isset($_POST["vt_save"]) && $_POST["vt_save"] == 1)

после этой строчки и фигурной скобки ниже, вставляем

if (isset($_POST['fKey']) && $lfKey == $_SESSION['fKey'] && $_POST['fKey'] == $_SESSION['fKey']) {

ниже, после строки
$smarty->assign("UserFName", $_POST['UserFName']);
ставим закрывающий
}

находим
db_query( "insert into ".VT_TABLE." (`name`, `fname`, `alV`, `prdV`, `h_f`, `f_q`, `textToPub`, `add_date`, `add_stamp`, `see` )
            values('".xToText(trim($name))."', '".xToText(trim($fname))."', '".xToText(trim($alV))."', '".xToText(trim($prdV))."', '".xToText(trim($h_f))."', '".xToText(trim($f_q))."', '".xToText(trim($textToPub))."', '".xEscSQL($add_date)."', ".$add_stamp.", ".$see." ) ");

меняем на

db_query( "insert into ".VT_TABLE." (`name`, `fname`, `alV`, `prdV`, `h_f`, `f_q`, `textToPub`, `add_date`, `add_stamp`, `see` )
            values('".xToText(trim($name))."', '".xToText(trim($fname))."', '".xToText(trim($alV))."', '".xToText(trim($prdV))."', '".xToText(trim($h_f))."', '".xToText(trim($f_q))."', '".xToText(trim($textToPub))."', '".xEscSQL($add_date)."', ".$add_stamp.", 0 ) ");

С этим файлом работа закончена.
Открываем core/tpl/user/ваш_шаблон/comment.tpl.html

почти в самом низу перед
<input type=hidden name="add_date" value="{$add_date}">
вставляем
<input type="hidden" name="fKey" value="{$fKey}"/>

Итог:

1 - Добавили уникальный ключ сессии и без него (или, если он не совпадает) отправка формы будет не возможна.
2 - Принудительно выставляем 0 для показа. Если сломают уникальность сессии, то как минимум всякая фигня не будет лезть сразу на сайт.

Если это не поможет, то вас попросту сломали и шлют запросы напрямую в БД.
Как исправить - переименовать таблицу с отзывами, и прописать это имя в файле core/config/connect.inc.php
  • 1
Пишу, устанавливаю, натягиваю))) pix-art.ru

#26 maxruta

    Пользователь

  • Download User
  • PipPip
  • 13 сообщений
Репутация: 0
Начинающий

Отправлено 24 June 2014 - 08:46 AM

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

В общем, так:

файл core/includes/vt.php

В самом верху, после

<?php
вставляем:

if (!isset($_SESSION['fKey']) || empty($_SESSION['fKey'])) {
  $_SESSION['fKey'] = md5(mt_rand(11245, 5469887));
}
$lfKey = $_SESSION['fKey'];
$smarty->assign('fKey', $lfKey);

далее в этом файле находим

if ( isset($_POST["vt_save"]))

заменяем на

if ( isset($_POST["vt_save"]) && $_POST["vt_save"] == 1)

после этой строчки и фигурной скобки ниже, вставляем

if (isset($_POST['fKey']) && $lfKey == $_SESSION['fKey'] && $_POST['fKey'] == $_SESSION['fKey']) {

ниже, после строки
$smarty->assign("UserFName", $_POST['UserFName']);
ставим закрывающий
}

находим
db_query( "insert into ".VT_TABLE." (`name`, `fname`, `alV`, `prdV`, `h_f`, `f_q`, `textToPub`, `add_date`, `add_stamp`, `see` )
			values('".xToText(trim($name))."', '".xToText(trim($fname))."', '".xToText(trim($alV))."', '".xToText(trim($prdV))."', '".xToText(trim($h_f))."', '".xToText(trim($f_q))."', '".xToText(trim($textToPub))."', '".xEscSQL($add_date)."', ".$add_stamp.", ".$see." ) ");

меняем на

db_query( "insert into ".VT_TABLE." (`name`, `fname`, `alV`, `prdV`, `h_f`, `f_q`, `textToPub`, `add_date`, `add_stamp`, `see` )
			values('".xToText(trim($name))."', '".xToText(trim($fname))."', '".xToText(trim($alV))."', '".xToText(trim($prdV))."', '".xToText(trim($h_f))."', '".xToText(trim($f_q))."', '".xToText(trim($textToPub))."', '".xEscSQL($add_date)."', ".$add_stamp.", 0 ) ");

С этим файлом работа закончена.
Открываем core/tpl/user/ваш_шаблон/comment.tpl.html

почти в самом низу перед
<input type=hidden name="add_date" value="{$add_date}">
вставляем
<input type="hidden" name="fKey" value="{$fKey}"/>

Итог:

1 - Добавили уникальный ключ сессии и без него (или, если он не совпадает) отправка формы будет не возможна.
2 - Принудительно выставляем 0 для показа. Если сломают уникальность сессии, то как минимум всякая фигня не будет лезть сразу на сайт.

Если это не поможет, то вас попросту сломали и шлют запросы напрямую в БД.
Как исправить - переименовать таблицу с отзывами, и прописать это имя в файле core/config/connect.inc.php


Спасибо. Попробую
  • 0

#27 nick_sat

    Новичок

  • Assistent vsupport.club
  • Pip
  • 6 сообщений
Репутация: 0
Начинающий

Отправлено 24 December 2014 - 12:20 PM

Добрый день, подскажите где посмотреть(поправить) ошибку - при написании отзыва приходит письмо и сам отзыв в админ панели появляется не в той кодировке. Вместо русских букв знаки вопроса.

Проблема решена, после переноса сайта на новый хостинг по умолчанию новые таблицы создавались в другой кодировке. Изменили это в phpMyAdmin и проблема решилась.
  • 0

#28 makki

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 147 сообщений
Репутация: 7
Начинающий

Отправлено 11 February 2016 - 03:53 PM

Добавил в Downloads обновленный модуль отзывов для магазина под ShopCMS 3.1.3 с постраничной навигацией

Изменения:
1) Вывод под шаблон ShopCMS 3.1.3 на Bootstrap
2) Добавлена постраничная навигация отзывов (количество отзывов на странице задается в Общих настройках)
3) Просмотр отзывов и добавление отзывов происходит на одной странице
4) Псевдостатические ссылки
5) Добавлена captcha
6) Оптимизирован код

Перейти на страницу загрузки
  • 1

#29 aldrpav

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений
Репутация: 0
Начинающий

Отправлено 17 February 2016 - 08:34 AM

А где можно посмотреть как выглядит модуль?
  • 0

#30 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 17 February 2016 - 10:56 AM

А где можно посмотреть как выглядит модуль?

Например, тут - http://new.badisoft.ru/comment.html
Но интересна в основном админка, а кто ж туда пустит?
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#31 makki

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 147 сообщений
Репутация: 7
Начинающий

Отправлено 17 February 2016 - 03:27 PM

  • Подправил шаблон вывода отзывов. Добавил скриншоты.

http://vsupport.club...ной-навигацией/
  • 0

#32 jiykka

    Пользователь

  • Download User
  • PipPip
  • 29 сообщений
Репутация: 0
Начинающий

Отправлено 10 April 2016 - 05:29 AM

makki,А не подскажите:

<!-- Если установка завершилась с ошибкой, то вручную вставьте в базу через SQL запрос следующий код:

CREATE TABLE ПРЕФИКС_vt (
`oID` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`UserName` VARCHAR( 250 ) NOT NULL ,
`UserCity` VARCHAR( 250 ) NOT NULL ,
`VoteRating` INT( 5 ) NOT NULL ,
`textToPub` LONGTEXT NOT NULL ,
`textToPubAdm` LONGTEXT NOT NULL ,
`add_date` DATE NOT NULL ,
`add_stamp` INT( 11 ) NOT NULL ,
`see` INT( 2 ) DEFAULT '0' NOT NULL ,
UNIQUE (
`oID`
)
)AUTO_INCREMENT=1;

Это какой файл править нужно? -->


Пы сы: после стандартной замены файлов и внесения изменений в указанные 2 - файла модуль не появился в админке.
  • 0

#33 makki

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 147 сообщений
Репутация: 7
Начинающий

Отправлено 10 April 2016 - 06:57 AM

makki,А не подскажите:

<!-- Если установка завершилась с ошибкой, то вручную вставьте в базу через SQL запрос следующий код:

Это какой файл править нужно? -->


Пы сы: после стандартной замены файлов и внесения изменений в указанные 2 - файла модуль не появился в админке.


SQL запрос нужно выполнить через phpMyAdmin. Но скорее всего не в этом дело.
Принудительная очистка кэша в Общих настройках включена?
  • 1

#34 jiykka

    Пользователь

  • Download User
  • PipPip
  • 29 сообщений
Репутация: 0
Начинающий

Отправлено 10 April 2016 - 12:55 PM

Все работает. Благодарю makkiза содействие.
  • 0

#35 kery

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 130 сообщений
Репутация: 17
Начинающий

Отправлено 10 November 2016 - 01:15 PM

Добавил в Downloads обновленный модуль отзывов для магазина под ShopCMS 3.1.3 с постраничной навигацией

Изменения:
1) Вывод под шаблон ShopCMS 3.1.3 на Bootstrap
2) Добавлена постраничная навигация отзывов (количество отзывов на странице задается в Общих настройках)
3) Просмотр отзывов и добавление отзывов происходит на одной странице
4) Псевдостатические ссылки
5) Добавлена captcha
6) Оптимизирован код

Перейти на страницу загрузки

что то у меня ругается в админке Fatal error: Cannot redeclare _getUrlToSubmit() (previously declared in C:\OpenServer\domains\zakaz.loc\core\includes\admin\sub\modules_vt.php:10) in core\includes\admin\modules_vt.php on line 8
  • 0

#36 zcz

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 104 сообщений
Репутация: 62
Продвинутый

Отправлено 10 November 2016 - 01:29 PM

Добавил в Downloads обновленный модуль отзывов для магазина под ShopCMS 3.1.3 с постраничной навигацией

Изменения:
1) Вывод под шаблон ShopCMS 3.1.3 на Bootstrap
2) Добавлена постраничная навигация отзывов (количество отзывов на странице задается в Общих настройках)
3) Просмотр отзывов и добавление отзывов происходит на одной странице
4) Псевдостатические ссылки
5) Добавлена captcha
6) Оптимизирован код

Перейти на страницу загрузки

что то у меня ругается в админке Fatal error: Cannot redeclare _getUrlToSubmit() (previously declared in C:\OpenServer\domains\zakaz.loc\core\includes\admin\sub\modules_vt.php:10) in core\includes\admin\modules_vt.php on line 8


Значит функция где-то уже объявлена.
Есть костыль небольшой:

Перед
function _getUrlToSort()
вставить
if (!function_exists('_getUrlToSort')) {
и после окончания функции (фигурная скобка } )
поставить еще одну закрывающую фигурную скобку }

скорее всего подобную фигню придется проделать со всеми функциями в файле.

Причина мне самому до сих пор не понятна (недавно встретился с подобным для списка пользователей)
  • 0
Пишу, устанавливаю, натягиваю))) pix-art.ru

#37 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 10 November 2016 - 02:42 PM

Причина мне самому до сих пор не понятна (недавно встретился с подобным для списка пользователей)

С функциями _getUrlToNavigate, _getUrlToSort, _sortSetting надо быть осторожным, т.к. они даже штатно дублируются в нескольких includes/*.php и includes/admin/sub/*.php. В штатном виде это никак не мешает, т.к. код, содержащий эту функцию нигде не пересекается друг с другом (исполняется либо один, либо другой), а объявление функции происходит только при исполнении этого кода, но вот при написании своих модулей надо это иметь в виду.

скорее всего подобную фигню придется проделать со всеми функциями в файле.

Скорее всего, это не поможет. Вместо нужной функции будет вызываться чужая объявленная ранее, которая может возвращать другой результат.

что то у меня ругается в админке Fatal error: Cannot redeclare _getUrlToSubmit() (previously declared in C:\OpenServer\domains\zakaz.loc\core\includes\admin\sub\modules_vt.php:10) in core\includes\admin\modules_vt.php on line 8

Тут, как мне кажется, лечение намного проще. В каталоге core/includes/admin/ исполняются ВСЕ лежащие в нем PHP-файлы. Подозреваю, что modules_vt.php это не действительно нужный файл, а бэкап modules.php со всеми вытекающими в виде попытки повторного определения уже определенных функций.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#38 zcz

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 104 сообщений
Репутация: 62
Продвинутый

Отправлено 10 November 2016 - 03:01 PM

Тут, как мне кажется, лечение намного проще. В каталоге core/includes/admin/ исполняются ВСЕ лежащие в нем PHP-файлы. Подозреваю, что modules_vt.php это не действительно нужный файл, а бэкап modules.php со всеми вытекающими в виде попытки повторного определения уже определенных функций.

Совсем недавно (почему и быстро написал костыльный способ лечения) столкнулся с такой-же ошибкой, но внутри стандартных функций (на голом сайте, после установки) для списка пользователей.
Вопрос в том - от чего это происходит. Даже, если учесть, что данная функция дублируется по несколько раз, она вызывается внутри своего файла при условии вызова этого файла...
а т.к. она каждый раз объявляется по новой, то не вижу причин ее неработоспособности.
З.Ы. переименовывание функции тоже не спасает от этой ошибки.
  • 0
Пишу, устанавливаю, натягиваю))) pix-art.ru

#39 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 10 November 2016 - 03:13 PM

Совсем недавно (почему и быстро написал костыльный способ лечения) столкнулся с такой-же ошибкой, но внутри стандартных функций (на голом сайте, после установки) для списка пользователей.

"На голом сайте" или таки "на голом сайте, но с установленным этим модулем"?
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#40 zcz

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 104 сообщений
Репутация: 62
Продвинутый

Отправлено 10 November 2016 - 03:16 PM

"На голом сайте" или таки "на голом сайте, но с установленным этим модулем"?

Таки совсем на голом сайте. Так сказать "из коробочки".
+ , прошу заметить, что данный модуль уже переработан и не мной.
  • 0
Пишу, устанавливаю, натягиваю))) pix-art.ru