tim21701

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

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

tim21701    497

Изображение

Поделиться сообщением


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

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

шаг_#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

Поделиться сообщением


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

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

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

Изображение

В шаг_#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

Поделиться сообщением


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

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

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

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

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

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

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

над кнопочкой работаем ^_^ Изменено пользователем afwollis

Поделиться сообщением


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

Вместо шаг_#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:

Поделиться сообщением


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

спасибо вам обоим

Поделиться сообщением


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

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

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

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

Поделиться сообщением


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

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

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

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

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

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

Поделиться сообщением


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

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

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

Поделиться сообщением


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

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

Поделиться сообщением


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

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

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

Поделиться сообщением


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

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

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

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

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

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

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

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

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

Поделиться сообщением


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

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

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

Поделиться сообщением


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

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

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

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

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

Именно! :D

Поделиться сообщением


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

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

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

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

Поделиться сообщением


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

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

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

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

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

Поделиться сообщением


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

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

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

Изображение

В шаг_#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

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

Поделиться сообщением


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

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

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

Поделиться сообщением


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

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

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

Изображение

Поделиться сообщением


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

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

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

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

Поделиться сообщением


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

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

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

<?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 } ?>

Поделиться сообщением


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

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

Поделиться сообщением


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

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

Поделиться сообщением


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

Как выполнить пункт 4?

Не нашел я в том файле кода исходного, который подлежит замене(((

Поделиться сообщением


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

Почему то на версии 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

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От tim21701
      Часто задают этот вопрос, что бы не скидывать всем ссылки - вывожу её в отдельную тему.

      =========================================================================
      -----------------НЕ ЗАБЫВАЕМ ПРО РЕЗЕРВНОЕ КОПИРОВАНИЕ ФАЙЛОВ!-----------------
      =========================================================================

      Итак, открываем файл: catalog/view/theme/ВАША_ТЕМА/stylesheet/stylesheet.css и находим строки:
      #menu { background: #585858; border-bottom: 1px solid #000000; height: 37px; margin-bottom: 15px; -webkit-border-radius: 5px 5px 5px 5px; -moz-border-radius: 5px 5px 5px 5px; -khtml-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; -webkit-box-shadow: 0px 2px 2px #DDDDDD; -moz-box-shadow: 0px 2px 2px #DDDDDD; box-shadow: 0px 2px 2px #DDDDDD; padding: 0px 5px; } Добавляем туда строку (в любое место):
      text-align:center; Чуть ниже, (в этом же файле) находим:
      #menu ul { list-style: none; margin: 0; padding: 0; } Меняем на эти строки:
      #menu ul { list-style: none; margin:auto; padding: 0; display:inline-block; margin-bottom:-4px; text-align:left; } До:

      После:

      Расширяем возможности горизонтального меню...
       
    • От tim21701
      Если кому пригодится, то вот способ - как разместить на главной странице любой модуль.
      (для примера я взял три модуля; "Рекомендуем", "Хиты продаж" и "Слайд-шоу".)

      Вот результат:




      Итак, открываем файл catalog/controller/common/home.php и находим строку:
       
      $this->children[] = 'common/header'; Добаваляем после неё то - что хотим видеть на главной:
       
      $this->children[] = 'module/featured';$this->children[] = 'module/bestseller';$this->children[] = 'module/sidebarslideshow'; Далее, открываем catalog/view/theme/default/template/common/home.tpl и находим:
       
      <?php foreach ($modules as $module) { ?><?php echo ${$module['code']}; ?><?php } ?> И ниже добавляем своё:
       
      <?php echo $featured; ?><?php echo $bestseller'; ?><?php echo $sidebarslideshow'; ?> Затем, открываем catalog/view/theme/default/stylesheet/stylesheet.css и вместо блока (он в самом низу):
       
      #content .middle .box {float: left;margin: 0 6px 10px 6px;min-height: 0px;}#content .middle .box .middle {width: 158px;min-height: 0px;} Ставим свой:
       
      #content .box {float: left;margin: 0 6px 10px 6px;min-height: 0px;}#content .box .middle {width: 158px;min-height: 0px;} Таким способом, можно продублировать любой модуль на главной странице.
       
    • От tim21701
      Итак, если Вы не установили изображение для Категории товаров, берём случайное (из товара) и выводим его...

      Пример:



      Для этого, открываем /catalog/controller/product/category.php и находим строки:
       
      if ($category_info['image']) {$image = $category_info['image'];} else {$image = '';} После них, вставляем:

      if ($category_info['image']) {$image = $category_info['image'];} else {$image = '';// Use random image from products in the category$rndImgQry = "SELECT p.image AS image FROM product AS p JOIN product_to_category AS c ON p.product_id = c.product_id ". "WHERE c.category_id = " . $category_info['category_id'] . " AND p.image NOT LIKE 'no_image.jpg'";$rndImgRslt = mysql_query($rndImgQry) or die (mysql_error());if (mysql_num_rows($rndImgRslt) > 0){$imgRows = array();while($imgRow = mysql_fetch_array($rndImgRslt)){$imgRows[] = $imgRow['image'];}$image = $imgRows[array_rand($imgRows)];}} Ниже, находим блок:

      if ($result['image']) {$image = $result['image'];} else {$image = 'no_image.jpg';} После него вставляем:

      if ($result['image']) {$image = $result['image'];} else {$image = 'no_image.jpg';// Use random image from products in the category$rndImgQry = "SELECT p.image AS image FROM product AS p JOIN product_to_category AS c ON p.product_id = c.product_id ". "WHERE c.category_id = " . $result['category_id'] . " AND p.image NOT LIKE 'no_image.jpg'";$rndImgRslt = mysql_query($rndImgQry) or die (mysql_error());if (mysql_num_rows($rndImgRslt) > 0){$imgRows = array();while($imgRow = mysql_fetch_array($rndImgRslt)){$imgRows[] = $imgRow['image'];}$image = $imgRows[array_rand($imgRows)];}} Всё.
       
    • От tim21701
      Если Вы хотите, что бы на странице товара, при нажатии на вкладки "Описание", "Фото", "Отзывы", "Рекомендуем" они открывались "плавно" (эффект fade),
      откройте файл catalog/view/javascript/jquery/tab.js и найдите строку:
       
      $($(this).attr('tab')).css('display', 'block'); Добавьте ПЕРЕД ней эту:
       
      $($(this).attr('tab')).fadeIn(); Сохраните и посмотрите что получилось.
       
    • От tim21701
      Для любителей отображения меню списком "дерево" в стиле Windows XP, предлагаю такой вариант:



      Используемые значки:

      В модуле нет заменяемых файлов, только новые.
      Установка: Копируем папки из архива и включаем меню в админке.

      Внимание.
      Данный мод не заменяет основное меню Категорий, у Вас появится ещё одно меню с Категориями!
      (Которое можно использовать как дополнительное... Если захотите отставить только его - отключите "Основное").

      Tree Category.zip
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу