tim21701

[How-To] Ведём log захода в Админ панель...

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

tim21701    498

Итак, будем вести лог-файл, о попытке захода в административную панель сайта. (Параноикам посвящается!)
Вот, как это будет выглядеть: (показано на локалке)
1) Если кто-то, посчитает себя "особо одарённым" и попытается зайти в папку .../admin - уведомляем нашего "визитёра":

Изображение

Для этого, открываем файл /admin/view/template/common/login.tpl и в самом конце находим строки:
 

</div><?php echo $footer; ?>

Добавляем перед ними следующий код:


<div class="content" style="min-height: 0px; background-color: #fffafa;"><?php$logfile= 'iplog.html';$IP = $_SERVER['REMOTE_ADDR'];$logdetails= '<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #000000;">' . date("F j, g:ia") . ' : <a target="_blank" href=http://www.ip-adress.com/ip_tracer/'.$_SERVER['REMOTE_ADDR'].'>'.$_SERVER['REMOTE_ADDR'].'</a></span>';$fp = fopen($logfile, "a");fwrite($fp, $logdetails);fwrite($fp, "<br />");fclose($fp);?><span style="color:green;"><b>Определение IP адреса:</b></span><br /><iplog><p>Ваш IP адрес (<strong><?php echo $_SERVER['REMOTE_ADDR']; ?></strong>) записан, администрация сайта будет уведомлена о попытке захода в /admin/.</p></iplog></div>

Строки внизу - можно изменить на свои. Что-то типа; "Поздравляем! Ваш IP адрес (такой то) был выбран победителем!" )))))))))

2) На главной странице Панели управления (Dashboard) добавляем таблицу, где будет отображаться все IP адреса "особо одарённых".

Изображение

Если нажать на IP адрес - попадаем на страничку сайта www.ip-adress.com, где показана "Страна", "Город" и "провайдер" этого IP.
Лучше проверить этот IP адрес со списком Ваших покупателей (Продажа > Покупатели) Как добавить столбик с IP адресом покупателя - другая тема...
И если, он принадлежит кому то, из зарегистрированных у Вас клиенов, написать ему об этом письмо... ))


Для этого, открываем файл /admin/view/template/common/home.tpl и находим этот код:


<div class="content"><div style="display: inline-block; width: 100%; margin-bottom: 15px; clear: both;"><div style="float: left; width: 49%;"><div style="background: #547C96; color: #FFF; border-bottom: 1px solid #8EAEC3; padding: 5px; font-size: 14px; font-weight: bold;"><?php echo $text_overview; ?></div><div style="background: #FCFCFC; border: 1px solid #8EAEC3; padding: 10px; height: 180px;"><table cellpadding="2" style="width: 100%;"><tr><td width="80%"><?php echo $text_total_sale; ?></td><td align="right"><?php echo $total_sale; ?></td><tr><td><?php echo $text_total_sale_year; ?></td><td align="right"><?php echo $total_sale_year; ?></td></tr><tr><td><?php echo $text_total_order; ?></td><td align="right"><?php echo $total_order; ?></td></tr><tr><td><?php echo $text_total_customer; ?></td><td align="right"><?php echo $total_customer; ?></td></tr><tr><td><?php echo $text_total_customer_approval; ?></td><td align="right"><?php echo $total_customer_approval; ?></td></tr><tr><td><?php echo $text_total_product; ?></td><td align="right"><?php echo $total_product; ?></td></tr><tr><td><?php echo $text_total_review; ?></td><td align="right"><?php echo $total_review; ?></td></tr><tr><td><?php echo $text_total_review_approval; ?></td><td align="right"><?php echo $total_review_approval; ?></td></tr></table></div></div><div style="float: right; width: 49%;"><div style="background: #547C96; color: #FFF; border-bottom: 1px solid #8EAEC3;"><div style="width: 100%; display: inline-block;"><div style="float: left; font-size: 14px; font-weight: bold; padding: 7px 0px 0px 5px; line-height: 12px;"><?php echo $text_statistics; ?></div><div style="float: right; font-size: 12px; padding: 2px 5px 0px 0px;"><?php echo $entry_range; ?><select id="range" onchange="getSalesChart(this.value)" style="margin: 2px 3px 0 0;"><option value="day"><?php echo $text_day; ?></option><option value="week"><?php echo $text_week; ?></option><option value="month"><?php echo $text_month; ?></option><option value="year"><?php echo $text_year; ?></option></select></div></div></div>

Меняем его на этот:


<div class="content"><div style="display: inline-block; width: 100%; margin-bottom: 15px; clear: both;"><div style="float: left; width: 26%; padding: 4px;"><div style="background: #547C96; color: #FFF; border-bottom: 1px solid #8EAEC3; padding: 5px; font-size: 14px; font-weight: bold;">Доступ к Панели управления</div><div style="background: #FCFCFC; border: 1px solid #8EAEC3; padding: 10px; height: 180px;"><iframe src="iplog.html" width="100%" height="100%" frameborder="0"></iframe></div></div><div style="float: left; width: 33%; padding: 4px;"><div style="background: #547C96; color: #FFF; border-bottom: 1px solid #8EAEC3; padding: 5px; font-size: 14px; font-weight: bold;"><?php echo $text_overview; ?></div><div style="background: #FCFCFC; border: 1px solid #8EAEC3; padding: 10px; height: 180px;"><table cellpadding="2" style="width: 100%;"><tr><td width="80%"><?php echo $text_total_sale; ?></td><td align="right"><?php echo $total_sale; ?></td><tr><td><?php echo $text_total_sale_year; ?></td><td align="right"><?php echo $total_sale_year; ?></td></tr><tr><td><?php echo $text_total_order; ?></td><td align="right"><?php echo $total_order; ?></td></tr><tr><td><?php echo $text_total_customer; ?></td><td align="right"><?php echo $total_customer; ?></td></tr><tr><td><?php echo $text_total_customer_approval; ?></td><td align="right"><?php echo $total_customer_approval; ?></td></tr><tr><td><?php echo $text_total_product; ?></td><td align="right"><?php echo $total_product; ?></td></tr><tr><td><?php echo $text_total_review; ?></td><td align="right"><?php echo $total_review; ?></td></tr><tr><td><?php echo $text_total_review_approval; ?></td><td align="right"><?php echo $total_review_approval; ?></td></tr></table></div></div><div style="float: right; width: 39%; padding: 4px;"><div style="background: #547C96; color: #FFF; border-bottom: 1px solid #8EAEC3;"><div style="width: 100%; display: inline-block;"><div style="float: left; font-size: 14px; font-weight: bold; padding: 7px 0px 0px 5px; line-height: 12px;"><?php echo $text_statistics; ?></div><div style="float: right; font-size: 12px; padding: 2px 5px 0px 0px;"><?php echo $entry_range; ?><select id="range" onchange="getSalesChart(this.value)" style="margin: 2px 3px 0 0;"><option value="day"><?php echo $text_day; ?></option><option value="week"><?php echo $text_week; ?></option><option value="month"><?php echo $text_month; ?></option><option value="year"><?php echo $text_year; ?></option></select></div></div></div>

3) После того, как всё сделали, при первом заходе в панель управления, будет создан файл iplog.html (в папке admin), куда будут записываться всё IP адреса.
Откройте его и допишите в самом начале строки:


<html><head><META HTTP-EQUIV="Pragma" CONTENT="no-cache"></head><body onload="javascript:scroll(0,9999999999999999999)"><!--/////Для очистки лог файла - удалите все строки ПОСЛЕ ЭТОГО КОММЕНТА!-->

Этими строками, мы говорим нашему браузеру не кешировать данный файл. И если, в Панели управления (Dashboard) таблица с IP адресами заполнится - она будет автоматически прокручиваться в самый низ - на последнюю запись.

Всё.
Изображение

 

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


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

последняя версия

при входе в админку выдает под логином и паролем:

Warning: fopen(iplog.html) [function.fopen]: failed to open stream: Permission denied in /home/u*****/****.ru/www/admin/view/template/common/login.tpl on line 51Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/u****/****.ru/www/admin/view/template/common/login.tpl on line 52Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/u***/****.ru/www/admin/view/template/common/login.tpl on line 53Warning: fclose() expects parameter 1 to be resource, boolean given in /home/u2***/***.ru/www/admin/view/template/common/login.tpl on line 54 Определение IP адреса:

Ваш IP адрес (***.***.***.***) записан, администрация сайта будет уведомлена о попытке захода в /admin/.

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


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

более того. вернул эти два файла в прежнее состояние и теперь при открытии страницы входа в админ панель - пустая страница

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


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

последняя версия...

"Последняя" - это какая, 0.1.8 что ли? :) Какая у Вас версия???

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


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

"Последняя" - это какая, 0.1.8 что ли? :) Какая у Вас версия???

уже предпоследняя )) 0.1.7

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


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

уже предпоследняя )) 0.1.7

Странно, ибо, в ней то, как раз и тестировал. Более того, знаю что "некоторые" уже реализовали это у себя, но ошибка только у Вас. Надо бы расспросить, тех - у кого это уже установлено.. У меня она работает и без проблем.

А на счёт v0.1.8 - это не последняя. Скорее это "предрелиз"

:D и ставить его на рабочую машину - не советую. Лучше почитать к ней комменты... Сами поймёте. Ждём обновление от babushka.

Уважаемые пользователи!

Кто ставил у себя "log захода в Админ панель", отпишитесь о работе данного дополнения.

Спасибо.

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


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

akanext, ну неужели так тяжело упаковать ошибки в тэг CODE ?!

скорее всего у вашего скрипта нет прав на создание файла

iplog.html
в директории

admin/
создавайте файл сами и давайте скрипту права на запись в него.

более того. вернул эти два файла в прежнее состояние и теперь при открытии страницы входа в админ панель - пустая страница

магия, что тут скажешь.

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


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

поставил у себя и в итоге

Изображение

Изображение

Как добавить столбик с IP адресом покупателя - другая тема...можно ссылочку?

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


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

Необходимо уменьшить ширину таблиц:

<div style="float: left; width: 26%; padding: 4px;">
поменяй на 21%

<div style="float: right; width: 39%; padding: 4px;">
поменяй на 42%

P.S. Подскажите пожалуйста как подкорректировать часовой пояс, так как время не правильно показывает.

И сделать так что бы отображался последний вход сверху.

Уважаемые пользователи!

Кто ставил у себя "log захода в Админ панель", отпишитесь о работе данного дополнения.

Спасибо.

Спасибо за дополнение!

Работает отлично, установилось с первого раз, проблем не выявленно.

Изменено пользователем sergey

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


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

Еле еле сделал для 1.5.5.1.2 =)

Может кому пригодится :-)

 

1) Открываем файл /admin/view/template/common/login.tpl и находим строки:

        <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
        <?php } ?>
     </form>
    </div> 
 

Добавляем после них

	  <div class="content" style="min-height: 0px; background-color: #fffafa;">
<?php
$logfile= 'iplog.html';
$IP = $_SERVER['REMOTE_ADDR'];
$logdetails= '<span style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #000000;">' . date("F j, g:ia") . ' : <a target="_blank" href=http://ipgeobase.ru/?address='.$_SERVER['REMOTE_ADDR'].'>'.$_SERVER['REMOTE_ADDR'].'</a></span>';
$fp = fopen($logfile, "a"); 
fwrite($fp, $logdetails);
fwrite($fp, "<br />");
fclose($fp); 
?> 
<span style="color:green;"><b>Определение IP адреса:</b></span><br /><iplog>
<p>Ваш IP адрес (<span style="color:#ff0000;"><strong><?php echo $_SERVER['REMOTE_ADDR']; ?></strong></span>) записан, администрация сайта будет уведомлена о попытке захода в админ панель.</p></iplog>
</div>

2) Открываем файл /admin/view/template/common/home.tpl и находим строки:

    </div>
    <div class="content">

После них сразу добавляем 

<div style="float: right; width: 17%; padding-left: 2%;">

<div style="background: #547C96; color: #FFF; border-bottom: 1px solid #8EAEC3; padding: 5px; font-size: 14px; font-weight: bold;">Доступ к Панели управления</div>

<div style="background: #FCFCFC; border: 1px solid #8EAEC3; padding: 10px; height: 180px;">

<iframe src="iplog.html" width="100%" height="100%" frameborder="0">

</iframe>

</div>

</div>

3) Чтобы все правильно отображалось открываем файл admin/view/stylesheet/stylesheet.css

находим 

.overview {
	float: left;
	width: 49%;
	margin-bottom: 20px;
}

и 49% меняем на 35%

 

далее находим чуток ниже

.statistic {
	float: right;
	width: 49%;
	margin-bottom: 20px;
}

и 49% меняем на 44%

 

 

4) После того, как всё сделали, при первом заходе в панель управления, будет создан файл iplog.html (в папке admin), куда будут записываться всё IP адреса.

Откройте его и допишите в самом начале строки:

<html>

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

</head>

<body onload="javascript:scroll(0,9999999999999999999)">

<!--/////Для очистки лог файла - удалите все строки ПОСЛЕ ЭТОГО КОММЕНТА!-->

789b7b38de.jpg

Изменено пользователем XXXBOY

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


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

Вот только не хватает кнопки "очистить" чтобы из админки сразу можно было очищать список Ip

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


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

Вот только не хватает кнопки "очистить"...

 

Да это вроде как и не обязательно, главное - сохранять список IP   :wink:

Но, за пост - отдельно спасибо.)

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


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

Да это вроде как и не обязательно, главное - сохранять список IP   :wink:

Но, за пост - отдельно спасибо.)

Всегда пожалуйста =)

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


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

Да действительно. Примочка классная. Все заработало. Но я хочу сказать следующее:

 

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

2. У себя убрала эту надпись про "Ваш ИД будет там сохранен где-то и кто-то получить там уведомление.". Эта фраза по-моему отпугивает потенциального злоумышленника и он больше не будет пытаться зайти через админку. А так - он будет периодически заходить и даже не замечать, что его логают. Или будет 15 раз пароль перебирать (а вы же его уже поменяли?..), чтобы зайти. Вы все это потом в логе и увидите.

3. После пункта 2 появилась идея еще и записывать в лог все переборы паролей, которые набирают входящие пользователи. Помните, тут на сайте один человек описывал ситуацию, в которой он поставил такую примочку, чтобы словить за руку вора (ну или не вора...). Там так и было - три раза вам выкидывалось сообщение, что мол связка логин-пароль неверная и это заставляло злоумышленника перебирать пароли: думать, что на этом сайте все-таки ПАРОЛЬ1, а на том сайте ПАРОЛЬ2, а может быть и вовсе ПАРОЛЬ3. Все три пароля "падали" в лог. Соответственно лог потом анализировался и было понятно, что связка пароль-логин "DRIVER2"-"12345" явно принадлежит сайту DRIVE.ru, например. А далее уже делались выводы.

 

Но, конечно, сама я такое (пункт3) сделать не смогу.

 

А еще скажите, а как вести лог входов в корень сайта через C-panel? Есть какой-нибудь инструмент?

А есть еще вход в БД сайта, минуя С-panel?

Спасибо.

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


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

1. Главное запрятать его в роботах и закрыть доступ в .htaccess

2. И хорошо, что отпугивает. Лучше пусть отпугивает, чем сервер загружается школьниками, перебирающими пароли.

3. Хорошая идея по поводу записи, но лучше не в лог, так как если не закроешь его, взломщикам поможешь. А если туда пишется и удачная попытка (реального владельца сайта) - можно вообще подарить злоумышленникам свой пароль. Лучше записывать в базу данных. А в лог можно писать MD5 хэш. Это, кстати, неплохая возможность не перебирая пароли на сайте, восстановить свой пароль, если забудешь.

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

 

Короче, идея хорошая, улучшить - тоже можно.

Отпишитесь, пожалуйста, владельцы магазинов на ocStore 1.5.5.1.2  - вариант XXXBOY стабильный, косяков не обнаружено?

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


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

Отпишитесь, пожалуйста, владельцы магазинов на ocStore 1.5.5.1.2  - вариант XXXBOY стабильный, косяков не обнаружено?

Работает отлично =)

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


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

Работает отлично =)

Спасибо. :)

Позднее добавлю себе, заодно попробую дописать сохранение в базу.

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


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

У меня тоже ocStore 1.5.5.1.2. Работает хорошо. Хелоуин ты мне не ответил: можно ли войти в БД минуя Cpanel? Там есть где нибудь отдельный вход? А то я пароль сменила и в админке и в CPanel, но вот не знаю: может еще где вход есть какой?

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


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

У меня тоже ocStore 1.5.5.1.2. Работает хорошо. Хелоуин ты мне не ответил: можно ли войти в БД минуя Cpanel? Там есть где нибудь отдельный вход? А то я пароль сменила и в админке и в CPanel, но вот не знаю: может еще где вход есть какой?

Пропустил вопрос, не думал, что он именно мне адресован :)

Есть возможность войти через SSH, если хостинг поддерживает SSH туннелирование, если его включить и настроить. Тогда можно не просто войти в базу данных, а можно управлять ей с совершенно посторонней машины и из любой точки мира. Но обычно, на виртуальном хостинге, эта функция отключена и если сам не включишь, скорее всего, бояться нечего. Хотя, ради безопасности, можно поинтересоваться у хостера и, либо попросить его (хостера) закрыть SSH доступ, либо у него же спросить, как его закрыть самостоятельно.

Я лично через SSH сам постоянно работаю, поэтому у меня включено. Мне так удобнее.

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


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

Сегодня некий друг уже заходил с неизвестного ИП. Вот те на... А потом будут подпольные казиношки на сайте появляться...

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


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

Сегодня некий друг уже заходил с неизвестного ИП. Вот те на... А потом будут подпольные казиношки на сайте появляться...

Сомневаюсь, что через базу данных можно казино к сайту подтянуть.

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

Можно и скачивая модули на всяких варезах, своими силами себе вредоноса наустанавливать :)

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


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

Нет. Ты не совсем понял: попытка войти была через админку в магазин. Но странно: у меня на сайте не пишет и не предупреждает об логировании входов и пароли в админке я все поменяла. Стало быть любой человек, введя свой (теперь уже старый) пароль и не получая доступа, попробует набрать его заново и тем самым будет дважды залогирован. А там запись только одна!.. Или этот инструмент не логирует второй раз при неправильной связке логин-пароль?

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


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

Нет. Ты не совсем понял: попытка войти была через админку в магазин. Но странно: у меня на сайте не пишет и не предупреждает об логировании входов и пароли в админке я все поменяла. Стало быть любой человек, введя свой (теперь уже старый) пароль и не получая доступа, попробует набрать его заново и тем самым будет дважды залогирован. А там запись только одна!.. Или этот инструмент не логирует второй раз при неправильной связке логин-пароль?

Ну это не ко мне вопрос - я еще не ковырялся в этой фишке.

Логично предположить, что кто-то не смог попасть и не стал пытаться второй раз.

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

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


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

Только она же пишет ИП. Так вот лажу в админку в трех компов и все ИП почти помню наизусть. А тут - совсем иной ИП. Значить это не авто-вход.

Кстати я проверила - если 2-3 раза пробовать войти, то и два три раза будешь отлогирован.

 

Однако, я сама тоже так иногда и делаю. Когда я просматриваю конкурентов, то всегда еще и набираю в браузере такое ЕГО_САЙТ/admin. Я это делаю для того, чтобы посмотреть на каком движке сделан его магазин. Если там привычное окошко - то это ОпенКарт. Ну это так: что бы понять масштаб конкурента. Так может быть и мне так сделали.

 

Плохо одно - зная пароль к базе, можно открыть админку. Это нужно помнить!

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


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

Только она же пишет ИП. Так вот лажу в админку в трех компов и все ИП почти помню наизусть. А тут - совсем иной ИП. Значить это не авто-вход.

Кстати я проверила - если 2-3 раза пробовать войти, то и два три раза будешь отлогирован.

 

Однако, я сама тоже так иногда и делаю. Когда я просматриваю конкурентов, то всегда еще и набираю в браузере такое ЕГО_САЙТ/admin. Я это делаю для того, чтобы посмотреть на каком движке сделан его магазин. Если там привычное окошко - то это ОпенКарт. Ну это так: что бы понять масштаб конкурента. Так может быть и мне так сделали.

 

Плохо одно - зная пароль к базе, можно открыть админку. Это нужно помнить!

 

Ставьте разные пароли и не сообщайте их никому.

А чтобы посмотреть, на каком движке сделан сайт конкурента (или вообще чей угодно), достаточно установить для браузера приложение Wappalyzer - он и движок покажет, и примочки разные... (у меня Wappalyzer установлен в Chrome)

Вот, например, что он сообщает о данном форуме:

4xGIpOuR.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 пользователей онлайн

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