Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[How-To] Открыть вкладку "Отзыв" только зарегистрированным.


Recommended Posts

  • 2 weeks later...

прячем форму добавления отзывов от неавторизованных юзеров:

шаг_#1

catalog/controller/product/product.php
в районе 402-ой строки, перед

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/product.tpl')) {
вставить

/* set review only for logged customers - part_#1 - start */
			if ($this->customer->isLogged()) {
				$this->data['is_logged'] = "1";
				$firstName = $this->customer->getFirstName();
				$lastName = $this->customer->getLastName();
				$this->data['userName'] = $firstName." ".$lastName;
			} else {
				$this->data['is_logged'] = "0";
				$reviewForLoggedOnly = $this->language->get('reviewForLoggedOnly');
				$w_log_in_to_review_href = $this->model_tool_seo_url->rewrite(HTTP_SERVER."index.php?route=account/login");
				$w_log_in_to_review = "<a href=\"".$w_log_in_to_review_href."\">".$this->language->get('w_log_in_to_review')."</a>";
				
				$this->data['reviewForLoggedOnly'] = sprintf($reviewForLoggedOnly, $w_log_in_to_review);
			}
			/* set review only for logged customers - part_#1 - end */
= = =

в функции

private function validate() {
заменить

if (!isset($this->session->data['captcha']) || ($this->session->data['captcha'] != $this->request->post['captcha'])) {
				$this->error['message'] = $this->language->get('error_captcha');
			}
на

/* set review only for logged customers - part_#2 - start */
		if (!$this->customer->isLogged()) {
			if (!isset($this->session->data['captcha']) || ($this->session->data['captcha'] != $this->request->post['captcha'])) {
				$this->error['message'] = $this->language->get('error_captcha');
			}
		}
		/* set review only for logged customers - part_#2 - end */

шаг_#2

русский

catalog/language/russian/product/product.php
вставить

/* set review only for logged customers - part_#1 - start */
$_['reviewForLoggedOnly'] = "Для того чтобы оставлять комментарии к товару необходимо %s."
$_['w_log_in_to_review'] = "авторизоваться";
/* set review only for logged customers - part_#1 - end */

шаг_#3

английский

catalog/language/english/product/product.php
вставить

/* set review only for logged customers - part_#1 - start */
$_['reviewForLoggedOnly'] = "In order to post comments to the goods you must be %s.";
$_['w_log_in_to_review'] = "authorized";
/* set review only for logged customers - part_#1 - end */

шаг_#4

catalog/view/theme/default/template/product/product.tpl
найти

<?php if ($review_status) { ?>
    <div id="tab_review" class="tab_page">
      <div id="review"></div>
      <div class="heading" id="review_title"><?php echo $text_write; ?></div>
      <div class="content">
      ...
      </div>
    </div>
    <?php } ?>
заменить

<div class="content">
      ...
      </div>
на

<div class="content">
	<?php if ($is_logged == 1) { ?>
		<b><?php echo $entry_name; ?></b> <?php echo $userName; ?>
		<input type="hidden" name="name" value="<?php echo $userName; ?>" />
		<br />
		<br />
		<b><?php echo $entry_review; ?></b>
		<textarea name="text" style="width: 98%;" rows="8"></textarea>
		<span style="font-size: 11px;"><?php echo $text_note; ?></span><br />
		<br />
		<b><?php echo $entry_rating; ?></b> <span><?php echo $entry_bad; ?></span> 
		<input type="radio" name="rating" value="1" style="margin: 0;" />
		 
		<input type="radio" name="rating" value="2" style="margin: 0;" />
		 
		<input type="radio" name="rating" value="3" style="margin: 0;" />
		 
		<input type="radio" name="rating" value="4" style="margin: 0;" />
		 
		<input type="radio" name="rating" value="5" style="margin: 0;" />
		  <span><?php echo $entry_good; ?></span><br />
		<?php
		/* вдруг завтра решите использовать captcha, поэтому просто комментируем.
			<br />
			<b><?php echo $entry_captcha; ?></b><br />
			<input type="text" name="captcha" value="" autocomplete="off" />
			<br />
			<img src="index.php?route=product/product/captcha" id="captcha" /></div>
		*/
		?>
	</div>
	<div class="buttons">
		<table>
			<tr>
				<td align="right"><a onclick="review();" class="button"><span><?php echo $button_continue; ?></span></a></td>
			</tr>
		</table>
	</div>
	<?php } else { ?>
		<?php echo $reviewForLoggedOnly; ?>
	</div>
	<?php } ?>

Сами отзывы при этом будут видны всем.

Если надо совсем закрыть вкладку, тогда четвертый_шаг должен быть таким:

шаг_#4

catalog/view/theme/default/template/product/product.tpl
найти

<?php if ($review_status) { ?>
    <div id="tab_review" class="tab_page">
      <div id="review"></div>
      <div class="heading" id="review_title"><?php echo $text_write; ?></div>
      <div class="content">
      ...
      </div>
    </div>
    <?php } ?>
заменить на

<?php if ($review_status) { ?>
    <div id="tab_review" class="tab_page">
	<?php if ($is_logged == 1) { ?>
      <div id="review"></div>
      <div class="heading" id="review_title"><?php echo $text_write; ?></div>
      <div class="content">
		<b><?php echo $entry_name; ?></b> <?php echo $userName; ?>
		<input type="hidden" name="name" value="<?php echo $userName; ?>" />
		<br />
		<br />
		<b><?php echo $entry_review; ?></b>
		<textarea name="text" style="width: 98%;" rows="8"></textarea>
		<span style="font-size: 11px;"><?php echo $text_note; ?></span><br />
		<br />
		<b><?php echo $entry_rating; ?></b> <span><?php echo $entry_bad; ?></span> 
		<input type="radio" name="rating" value="1" style="margin: 0;" />
		 
		<input type="radio" name="rating" value="2" style="margin: 0;" />
		 
		<input type="radio" name="rating" value="3" style="margin: 0;" />
		 
		<input type="radio" name="rating" value="4" style="margin: 0;" />
		 
		<input type="radio" name="rating" value="5" style="margin: 0;" />
		  <span><?php echo $entry_good; ?></span><br />
		<?php
		/* вдруг завтра решите использовать captcha, поэтому просто комментируем.
			<br />
			<b><?php echo $entry_captcha; ?></b><br />
			<input type="text" name="captcha" value="" autocomplete="off" />
			<br />
			<img src="index.php?route=product/product/captcha" id="captcha" /></div>
		*/
		?>
	</div>
	<div class="buttons">
		<table>
			<tr>
				<td align="right"><a onclick="review();" class="button"><span><?php echo $button_continue; ?></span></a></td>
			</tr>
		</table>
	</div>
	<?php } else { ?>
		<div class="content"><?php echo $reviewForLoggedOnly; ?></div>
	<?php } ?>
    </div>
    <?php } ?>
Змінено користувачем afwollis
  • +1 2
Надіслати
Поділитися на інших сайтах

Ну вот, а говорил что легко... Спасибо тебе огромное. Работает!

Правда, есть небольшой трабл...

Изображение

В шаг_#4 лишние строки в конце: (потому как после функции <?php } ?> они опять идут)

<div class="buttons">
<table>
<tr>
<td align="right"><a onclick="review();" class="button"><span><?php echo $button_continue; ?></span></a></td>
</tr>
</table>
</div>

Ну что, Дмитрий, где кнопочка Donate? :D :D :D

Надіслати
Поділитися на інших сайтах

Ну вот, а говорил что легко

но ведь не сложно :)

не вижу лишних строк, да и нет такого глюка у меня

post-3682-0-14681900-1300313661_thumb.png

а код я ж из своих файлов копировал :)

где кнопочка Donate?

над кнопочкой работаем ^_^ Змінено користувачем afwollis
Надіслати
Поділитися на інших сайтах

  • 2 weeks later...

Вместо шаг_#4 лучше (ИМХО) использовать так:

<div class="content">
                <b><?php echo $entry_name; ?></b> <?php echo $userName; ?>
                <input type="hidden" name="name" value="<?php echo $userName; ?>" />
                <br />
                <br />
                <b><?php echo $entry_review; ?></b>
                <textarea name="text" style="width: 98%;" rows="8"></textarea>
                <span style="font-size: 11px;"><?php echo $text_note; ?></span><br />
                <br />
                <b><?php echo $entry_rating; ?></b> <span><?php echo $entry_bad; ?></span> 
                <input type="radio" name="rating" value="1" style="margin: 0;" />
                 
                <input type="radio" name="rating" value="2" style="margin: 0;" />
                 
                <input type="radio" name="rating" value="3" style="margin: 0;" />
                 
                <input type="radio" name="rating" value="4" style="margin: 0;" />
                 
                <input type="radio" name="rating" value="5" style="margin: 0;" />
                  <span><?php echo $entry_good; ?></span><br />
                <?php
                /*
                        <br />
                        <b><?php echo $entry_captcha; ?></b><br />
                        <input type="text" name="captcha" value="" autocomplete="off" />
                        <br />
                        <img src="index.php?route=product/product/captcha" id="captcha" /></div>
                */
                ?>
        </div>
        <div class="buttons">
                <table>
                        <tr>
                                <td align="right"><a onclick="review();" class="button"><span><?php echo $button_continue; ?></span></a></td>
                        </tr>
                </table>
        </div>
        <?php } else { ?>
                <div class="warning"><?php echo $reviewForLoggedOnly; ?>
</div>
        <?php } ?>

Тогда, больше внимание привлекает:

Изображение

(Лишняя "замануха" так сказать.) :rolleyes:

  • +1 2
Надіслати
Поділитися на інших сайтах

Что-то не совсем понимаю смысл этой доработки...

Все написанные отзывы появляются на сайте только после подтверждения администратором. Даже если кто-то и будет там глупость писать - она сама в отзывах не появится. Так зачем же мощно ограничивать круг людей, которые могут писать отзывы? Никогда в жизни ни на одном сайте специально не регался, чтобы оставить отзыв. Если без регистрации нельзя - значит идут они на йух. А лишний нормальный отзыв лишним никогда не будет. :)

А посему, считаю доработку больше вредной, чем полезной. Или в ней есть какой-то скрытый смысл? ;)

Надіслати
Поділитися на інших сайтах


...Все написанные отзывы появляются на сайте только после подтверждения администратором....

Вот именно по этой причине и была задумка, реализован такой мод. Что бы не приходилось больше заглядывать во вкладку "Отзывы" и удалять всякие глупости, рекламу, а иногда и откровенное хамло с порнографией... Поверте, такое уже бывало. А пользователь, который у Вас зарегистрирован, на такого "безобразие" врядли пойдёт. Теперь, понимаете в чем суть? ;)

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

Вредной? Да ну, что Вы! Скорее плюсом! Я у себя реализовал, меня устраивает.

Может и передумаете, кто знает... :D Сами (наверняка) знаете - такое сейчас практически на всех сайтах.
Надіслати
Поділитися на інших сайтах

Т.е., Вы хотите сказать, что после применения этой доработки сообщения от зарегистрированных пользователей будут появляться без одобрения администратора? :blink: Тогда тем более считаю доработку вредной! :) Ведь теперь ничего не мешает публиковать глупости. Разве регистрация гарантирует адекватность? :) Если кто-то захочет подгадить конкурентам, думаете его регистрация остановит? ;)

Вы считаете, что проще пересматривать все отзывы, вычленяя неадекватные, чем просматривать только новые? ;)

Надіслати
Поділитися на інших сайтах


Подскажите как в данном хаке оставить возможность оставлять комментарии без регистрации, как есть. Но пользователям что зарегистрированным не нужно было вводить капачу и их логин фио отображался фио как в данном хаке. Мне важно чтобы комментарии могли оставлять также не зарегулированные пользователи и упростит задачу для тех кто зарегестрировался.

Надіслати
Поділитися на інших сайтах

Т.е., Вы хотите сказать, что после применения этой доработки сообщения от зарегистрированных пользователей будут появляться без одобрения администратора? :blink: ...

Нет! Вы так ничего и не поняли, что я хотел сказать... :D :D
Надіслати
Поділитися на інших сайтах

А как по-другому можно понять вот это: :)

Что бы не приходилось больше заглядывать во вкладку "Отзывы" и удалять всякие глупости, рекламу, а иногда и откровенное хамло с порнографией...

Если не надо заглядывать во вкладку "Отзывы" - значит они сами публикуются. Верно? ;) Или Вы теперь вообще отзывы игнорируете? :lol:

Или под словом "больше" Вы подразумевали "чаще"? :) Так надо писать, как надо, а не шифрограммами. :) Хотя, собственно, это ничего не меняет. В любом случае, режется огромная часть потенциальных отзыводателей. :)

ЗЫ. Чтобы не продолжать вечную дискуссию, предлагаю так:

1. Вы высказали своё мнение и настолько уверены в своей правоте, что никакие аргументы Вас не переубедят (я, в принципе, и не собирался переубеждать :) ).

2. Я тоже высказал своё мнение, привёл аргументы в подтверждение оного и тоже не вижу аргументов в его несправедливости. :lol:

Посему - пусть будет, как есть. Кто хочет мощно урезать кол-во полезных комментов - ставит Ваше дополнение. Кто хочет, чтобы полезных комментариев было больше - не ставит Ваше дополнение. :lol:

  • +1 2
Надіслати
Поділитися на інших сайтах


...Кто хочет мощно урезать кол-во полезных комментов - ставит Ваше дополнение. Кто хочет, чтобы полезных комментариев было больше - не ставит Ваше дополнение...

Никто никакие комменты "мощно урезать" не соберается. Они как были - так и останутся, просто их колличество станет чуть меньше, за счет того - что оставлять их смогут только зарегистрированные клиенты (что сведёт спам и прочее на нет). Сейчас это сплошь и рядом, практически на каждом сайте... Никого переубеждать я тоже не собераюсь. Главное, что благодаря стараниям Дмитрия - этот мод теперь существует! И каждый сам для себя решает, "мощно урезать" или оставить как есть, по дефолту. Посему и высказывание Ваше о полезности мода было изначально лишнее. Сколько людей на форуме - столько и мнений... ;)

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

но потом все равно отзывы проходят модерацию

Именно! :D
Надіслати
Поділитися на інших сайтах

Посему и высказывание Ваше о полезности мода было изначально лишнее. Сколько людей на форуме - столько и мнений... [/size];)

Аргументированные высказывания никогда лишними не бывают. ;)

Плюсанул Вам в первом посте за интересный диалог. B)

Надіслати
Поділитися на інших сайтах


Аргументированные высказывания никогда лишними не бывают. ;)

Плюсанул Вам в первом посте за интересный диалог. B)

И я Вам (в посте 12). :D :D :D "Аргументированные высказывания никогда лишними не бывают." +1

Хотя, аргументов было маловато...

Надіслати
Поділитися на інших сайтах

Ну вот, а говорил что легко... Спасибо тебе огромное. Работает!

Правда, есть небольшой трабл...

Изображение

В шаг_#4 лишние строки в конце: (потому как после функции <?php } ?> они опять идут)

<div class="buttons">
<table>
<tr>
<td align="right"><a onclick="review();" class="button"><span><?php echo $button_continue; ?></span></a></td>
</tr>
</table>
</div>

Ну что, Дмитрий, где кнопочка Donate? :D :D :D

При нажатие на кнопку отправить комент не добовляется, вобщем не чего не происходит :(
Надіслати
Поділитися на інших сайтах

При нажатие на кнопку отправить комент не добовляется, вобщем не чего не происходит :(

Покажите содержимое файла catalog/view/theme/ВАША_ТЕМА/template/product/product.tpl может где что не правильно проставили? Какая версия? Всё остальное работает?
Надіслати
Поділитися на інших сайтах

Покажите содержимое файла catalog/view/theme/ВАША_ТЕМА/template/product/product. tpl может где что не правильно проставили? Какая версия? Всё остальное работает?

нашел косяк потерял 1 ид тег. вставил его, терь ругается что количество символов ндостаточно в название комента, как я понял это и есть имя пользователя :))

Изображение

Надіслати
Поділитися на інших сайтах

...ругается что количество символов ндостаточно в название комента...

Не ломайте голову, название отзыва "отсекается" тем, что описано во втором топе этой темы. Что то у Вас не правильно изначально.

Прикрепите Ваш файл к сообщению, я посмотрю...

Надіслати
Поділитися на інших сайтах

Не ломайте голову, название отзыва "отсекается" тем, что описано во втором топе этой темы. Что то у Вас не правильно изначально.

Прикрепите Ваш файл к сообщению, я посмотрю...

<?php if ($review_status) { ?>
	<div id="tab_review" class="tab_page">
		<h2>Отзывы о <?php echo $heading_title; ?></h2>
			<div id="review"></div>
			<div id="review_title"></div>
			<h2><?php echo $text_write; ?> о <?php echo $heading_title; ?></h2>
			

        	<div class="content">
			<?php if ($is_logged == 1) { ?>
            	<b><?php echo $entry_name; ?></b> <?php echo $userName; ?>
            	<input type="hidden" name="name" value="<?php echo $userName; ?>" />
            	<br />
            	<br />
            	<b><?php echo $entry_review; ?></b>
            	<textarea name="text" style="width: 98%;" rows="8"></textarea>
            	<span style="font-size: 11px;"><?php echo $text_note; ?></span><br />
            	<br />
				<b><?php echo $entry_rating; ?></b> <span><?php echo $entry_bad; ?></span> 
				<input type="radio" name="rating" value="1" style="margin: 0;" />
     	
				<input type="radio" name="rating" value="2" style="margin: 0;" />
     	
				<input type="radio" name="rating" value="3" style="margin: 0;" />
     	
				<input type="radio" name="rating" value="4" style="margin: 0;" />
     	
				<input type="radio" name="rating" value="5" style="margin: 0;" />
				<span><?php echo $entry_good; ?></span><br />
				<br />
            	<?php
            	/* вдруг завтра решите использовать captcha, поэтому просто комментируем.
                    	<br />
                    	<b><?php echo $entry_captcha; ?></b><br />
                    	<input type="text" name="captcha" value="" autocomplete="off" />
                    	<br />
                    	<img src="index.php?route=product/product/captcha" id="captcha" />
            	*/
            	?>
			
			<div class="buttons">
			<table>
				<tr>
					<td align="right"><a onclick="review();"  class="button"><span><?php echo $button_continue;  ?></span></a></td>
				</tr>
			</table>
			</div>

    		<?php } else { ?>
			<div>
Для того чтобы оставлять комментарии к товару необходимо <a href="/index.php?route=account/login">Авторизроватся</a>
			</div>
    		<?php } ?>
			</div>

	</div>
	<?php } ?>
Надіслати
Поділитися на інших сайтах

Как увеличить число вводимых символов для имени до 100. У меня многи пользователи зареганы Ф.И.О по этой причине движек ругается то что привышено количество символов для ввода

Надіслати
Поділитися на інших сайтах

  • 8 months later...

А не подскажете как тоже самое сделать для страницы обратной связи? Только не закрывать ее, а чтобы не нужно было вводить имя и email если пользователь уже зарегистрирован.

Надіслати
Поділитися на інших сайтах


  • 1 month later...
  • 1 month later...

Почему то на версии 0.2.2 не работает. Не из 2-го поста, не из 5-го.

Воспользовался вот этим, под спойлером

Но хотелось бы оформить как в посте № 5 (на приаттаченом изображении).

Кто подправит... либо то что под спойлером, либо то что в топике 2, и 5.

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

Заранее всем спасибо.

P.S. И ещё...

Некоторые комментарии пишутся вопросом, так вот, кто реализует возможность ответа через админ-панель, при утверждения отзыва на публикацию. Как не будь так, как на скринах, именно в отзыв покупателя.

ШАГ 4

<div class="content">
						<?php if ($is_logged == 1) { ?>
				<b><?php echo $entry_name; ?></b> <?php echo $userName; ?>
				<input type="hidden" name="name" value="<?php echo $userName; ?>" />
				<br />
				<br />
				<b><?php echo $entry_review; ?></b>
				<textarea name="text" style="width: 98%;" rows="8"></textarea>
				<span style="font-size: 11px;"><?php echo $text_note; ?></span><br />
				<br />
								<b><?php echo $entry_rating; ?></b> <span><?php echo $entry_bad; ?></span>
								<input type="radio" name="rating" value="1" style="margin: 0;" />
	  
								<input type="radio" name="rating" value="2" style="margin: 0;" />
	  
								<input type="radio" name="rating" value="3" style="margin: 0;" />
	  
								<input type="radio" name="rating" value="4" style="margin: 0;" />
	  
								<input type="radio" name="rating" value="5" style="margin: 0;" />
								<span><?php echo $entry_good; ?></span><br />
								<br />
				<?php
				/* вдруг завтра решите использовать captcha, поэтому просто комментируем.
						<br />
						<b><?php echo $entry_captcha; ?></b><br />
						<input type="text" name="captcha" value="" autocomplete="off" />
						<br />
						<img src="index.php?route=product/product/captcha" id="captcha" />
				*/
				?>
					  
						<div class="buttons">
						<table>
								<tr>
										<td align="right"><a onclick="review();"  class="button"><span><?php echo $button_continue;  ?></span></a></td>
								</tr>
						</table>
						</div>

				<?php } else { ?>
						<div>
Для того чтобы оставлять комментарии к товару необходимо <a href="/index.php?route=account/login">Авторизроватся</a>
						</div>
				<?php } ?>
						</div>

		</div>
		<?php } ?>

post-4744-0-19790500-1331933550_thumb.jpg

post-4744-0-22313800-1331933565_thumb.jpg

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.