Артём Мáлков

10-балльная оценка в отзыве о товаре в OpenCart

19 сен0 комм

В OpenCart есть свои встроенные отзывы о товаре. Они имеют перемодерацию, постинг от лица гостя (с указанием имени и самого отзыва), а также имеют возможность выставления оценки к тому или иному товару.

По стандарту в этой CMS оценка выставляется по пятибалльной шкале, где 1 – минимальная оценка, а 5 – максимальная. Передо мной же встала задача расширить эти рамки и увеличить максимальную оценку до 10 пунктов. И о том, как это сделать, пойдет сегодня речь.

10-балльная оценка в отзыве о товаре в OpenCart

Итак, все изменения мы будет вносить в файлы движка. Инструкция рассчитана на OpenCart версий 2.3.*. В остальных же версиях вы делаете по аналогии. В некоторых путях файлов «default» – это папка темы, на которой работает сайт. В вашем же случае файлы вы ищете в своей теме.

1. Подключитесь к вашему сайту по FTP.

2. Далее откройте файл product.tpl в папке /catalog/view/theme/default/template/product/. В нем найдите строки, похожие на:

<input type="radio" name="rating" value="1" />
&nbsp;
<input type="radio" name="rating" value="2" />
&nbsp;
<input type="radio" name="rating" value="3" />
&nbsp;
<input type="radio" name="rating" value="4" />
&nbsp;
<input type="radio" name="rating" value="5" />

Замените их на:

<input type="radio" name="rating" value="1" />
&nbsp;
<input type="radio" name="rating" value="2" />
&nbsp;
<input type="radio" name="rating" value="3" />
&nbsp;
<input type="radio" name="rating" value="4" />
&nbsp;
<input type="radio" name="rating" value="5" />
&nbsp;
<input type="radio" name="rating" value="6" />
&nbsp;
<input type="radio" name="rating" value="7" />
&nbsp;
<input type="radio" name="rating" value="8" />
&nbsp;
<input type="radio" name="rating" value="9" />
&nbsp;
<input type="radio" name="rating" value="10" />

Сохраните изменения и отправьте файл обратно на сайт.

3. Далее откройте файл product.php в папке /catalog/controller/product/. Здесь вы ищете строку, похожую на:

if (empty($this->request->post['rating']) || $this->request->post['rating'] < 0 || $this->request->post['rating'] > 5) {

И в ней «5» замените на «10». Сохраните изменения и отправьте файл обратно на сайт.

4. Затем откройте файл review_form.tpl в папке /admin/view/template/catalog/. Этот файл отвечает за форму редактирования (модерации) отзыва в панели управления.

В нем вы находите строки, похожие на эти:

<label class="radio-inline">
	<?php if ($rating == 1) { ?>
		<input type="radio" name="rating" value="1" checked="checked" />
		1
	<?php } else { ?>
		<input type="radio" name="rating" value="1" />
		1
	<?php } ?>
</label>

<label class="radio-inline">
	<?php if ($rating == 2) { ?>
		<input type="radio" name="rating" value="2" checked="checked" />
		2
	<?php } else { ?>
		<input type="radio" name="rating" value="2" />
		2
	<?php } ?>
</label>

<label class="radio-inline">
	<?php if ($rating == 3) { ?>
		<input type="radio" name="rating" value="3" checked="checked" />
		3
	<?php } else { ?>
		<input type="radio" name="rating" value="3" />
		3
	<?php } ?>
</label>

<label class="radio-inline">
	<?php if ($rating == 4) { ?>
		<input type="radio" name="rating" value="4" checked="checked" />
		4
	<?php } else { ?>
		<input type="radio" name="rating" value="4" />
		4
	<?php } ?>
</label>

<label class="radio-inline">
	<?php if ($rating == 5) { ?>
		<input type="radio" name="rating" value="5" checked="checked" />
		5
	<?php } else { ?>
		<input type="radio" name="rating" value="5" />
		5
	<?php } ?>
</label>

И заменяете их на:

<label class="radio-inline">
	<?php if ($rating == 1) { ?>
		<input type="radio" name="rating" value="1" checked="checked" />
		1
	<?php } else { ?>
		<input type="radio" name="rating" value="1" />
		1
	<?php } ?>
</label>

<label class="radio-inline">
	<?php if ($rating == 2) { ?>
		<input type="radio" name="rating" value="2" checked="checked" />
		2
	<?php } else { ?>
		<input type="radio" name="rating" value="2" />
		2
	<?php } ?>
</label>

<label class="radio-inline">
	<?php if ($rating == 3) { ?>
		<input type="radio" name="rating" value="3" checked="checked" />
		3
	<?php } else { ?>
		<input type="radio" name="rating" value="3" />
		3
	<?php } ?>
</label>

<label class="radio-inline">
	<?php if ($rating == 4) { ?>
		<input type="radio" name="rating" value="4" checked="checked" />
		4
	<?php } else { ?>
		<input type="radio" name="rating" value="4" />
		4
	<?php } ?>
</label>

<label class="radio-inline">
	<?php if ($rating == 5) { ?>
		<input type="radio" name="rating" value="5" checked="checked" />
		5
	<?php } else { ?>
		<input type="radio" name="rating" value="5" />
		5
	<?php } ?>
</label>

<label class="radio-inline">
	<?php if ($rating == 6) { ?>
		<input type="radio" name="rating" value="6" checked="checked" />
		6
	<?php } else { ?>
		<input type="radio" name="rating" value="6" />
		6
	<?php } ?>
</label>

<label class="radio-inline">
	<?php if ($rating == 7) { ?>
		<input type="radio" name="rating" value="7" checked="checked" />
		7
	<?php } else { ?>
		<input type="radio" name="rating" value="7" />
		7
	<?php } ?>
</label>

<label class="radio-inline">
	<?php if ($rating == 8) { ?>
		<input type="radio" name="rating" value="8" checked="checked" />
		8
	<?php } else { ?>
		<input type="radio" name="rating" value="8" />
		8
	<?php } ?>
</label>

<label class="radio-inline">
	<?php if ($rating == 9) { ?>
		<input type="radio" name="rating" value="9" checked="checked" />
		9
	<?php } else { ?>
		<input type="radio" name="rating" value="9" />
		9
	<?php } ?>
</label>

<label class="radio-inline">
	<?php if ($rating == 10) { ?>
		<input type="radio" name="rating" value="10" checked="checked" />
		10
	<?php } else { ?>
		<input type="radio" name="rating" value="10" />
		10
	<?php } ?>
</label>

Сохраняете изменения и здесь, и файл также отправляете обратно на сайт.

5. Последним шагом делаем еще одно редактирование. Открываете файл review.php в папке /admin/controller/catalog/ и ищете строку, похожую на:

if (!isset($this->request->post['rating']) || $this->request->post['rating'] < 0 || $this->request->post['rating'] > 5) {

И по аналогии с 3 шагом меняете «5» на «10».

Сохраняете изменения в файле. Отправляете его на сайт.

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

Рекомендуем к просмотру
Дополнительное поле для отзывов к товару в OpenCart
Хаки
Подгрузка отзывов о товаре вместо стандартной пагинации в OpenCart 2.3.*
Модули и скрипты
Как убрать округление оценки товара в OpenCart?
Хаки
0
комментариев
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
Подняться наверх
«Pandoge» - помощник вебмастера