Хак Virtuemart и хаки

Может быть есть хак или просто способ "вырезать" всю систему оповещений об обновлениях, так как правились основные файлы virtuemart, которые нельзя наследовать.
Администратор магазина может из любопытства нажать на "доступна новая версия" и все труды на смарку. Помогите пожалуйста, гуглил не смог найти ничего вразумительного.

Версия virtuemart 2.0.12f
 
Может быть есть хак или просто способ "вырезать" всю систему оповещений об обновлениях, так как правились основные файлы virtuemart, которые нельзя наследовать.
Администратор магазина может из любопытства нажать на "доступна новая версия" и все труды на смарку. Помогите пожалуйста, гуглил не смог найти ничего вразумительного.

Версия virtuemart 2.0.12f

Я кнопки обновления просто удаляю:

иконку слева:
adminui.php
Код:
                <div class="menu-notice">
                <?php
                echo LiveUpdate::getIcon(array(),'notice');
                ?>
                <?php echo VmConfig::getInstalledVersion(); ?>
                </div>


иконку справа:

default_controlpanel.php

Код:
<div class="icon"><?php echo LiveUpdate::getIcon(array(),'url'); ?></div>


ну и опустошить странички обновлений в 2 файлах
administrator\components\com_virtuemart\admin.virtuemart.php
administrator\components\com_virtuemart_allinone\admin.virtuemart_allinone.php

закомментировав:
// LiveUpdate::handleRequest();

(на всяк случай)

в файле
administrator\components\com_virtuemart_allinone\admin.virtuemart_allinone.php

можно еще и обновление таблиц плагина отключить удалив в том же файле:

Код:
<table>
.......
</table>

я вообще сам пункт AIO из меню админки удаляю чтобы глаза не мозолил (зачем он нам там? ) :D
 
Virtuemart 2.0.x – в форму «Уведомить меня» добавить новое поле

По VM1 можно найти информацию о том, как добавить новые поля в форму «Уведомить меня», а вот для VM2 ничего не нашел. Возможно плохо искал....
И попробовал решить эту задачку - как добавить новое поле для ввода “Контактный телефон” в форму «Уведомить меня», чтобы иметь возможность связаться с потенциальным покупателем по телефону.
Просьба сильно не пинать и помочь закончить.
Итак

1) В таблицу БД ххххх_virtuemart_waitingusers добавил новое поле notify_phone
(я создал такое поле: тип –char, значение – 15, по умолчанию –NULL, Сравнение utf8_general_ci, Nullok)
Прим. : ххххх – префикс Вашей таблицы БД

2) Открываем файл /administrator/components/com_virtuemart/tables/waitingusers.php
и после
PHP:
var $notify_email        = '';
вставляем
PHP:
var $notify_phone      = '';

3) Открываем файл /components/com_virtuemart/views/productdetails/tmpl/notify.php и вместо кода
PHP:
<span class="floatleft"><input type="text" name="notify_email" value="<?php echo $this->user->email; ?>" /></span>
вставляем например такой
PHP:
<span class="floatleft">Контактный телефон:&nbsp;<input type="tel" name="notify_phone" value="" /><br />
(Пример ввода - 099-777-77-77) <br />
Контактный E-mail:&nbsp;<input type="text" name="notify_email" value="<?php echo $this->user->email; ?>" /></span><br />
Т.е. заменяем первоначальную форму:
waiting_1.jpg
На
waiting_2.jpg
Можно еще поиграться со стилем, чтобы довести до приемлемого вида
(отложил на потом)

4) Открываем файл /administrator/components/com_virtuemart/views/product/tmpl/product_edit_customer.php и :
После строки 117
PHP:
<th class="title"><?php echo JText::_ ('COM_VIRTUEMART_EMAIL');?></th>
вставляем
PHP:
<th class="title"><?php echo 'Телефон';?></th>
вместо кода - строка 127-131
PHP:
$row = '<tr class="row'.$i.'"><td></td><td></td><td><a href="mailto:' .  $wait->notify_email . '">' .
$wait->notify_email . '</a></td></tr>';
}
else {
    $row = '<tr class="row'.$i.'"><td>' . $wait->name . '</td><td>' . $wait->username . '</td><td>' . '<a href="mailto:' . $wait->notify_email . '">' . $wait->notify_email . '</a>' . '</td></tr>';
вставляем
PHP:
$row = '<tr class="row'.$i.'"><td></td><td></td><td><a href="mailto:' . $wait->notify_email . '">' .
$wait->notify_email . '</a></td><td>' . $wait->notify_phone . '</td></tr>';
}
else {
    $row = '<tr class="row'.$i.'"><td>' . $wait->name . '</td><td>' . $wait->username . '</td><td>' . '<a href="mailto:' . $wait->notify_email . '">' . $wait->notify_email . '</a>' . '</td><td>' . $wait->notify_phone . '</td></tr>';
вместо кода - строка206 - 209
PHP:
$html += '<tr><td></td><td></td><td><a href="mailto:' + val.notify_email + '">' + val.notify_email + '</a></td></tr>';
}
else {
    $html += '<tr><td>' + val.name + '</td><td>' + val.username + '</td><td><a href="mailto:' + val.notify_email + '">' + val.notify_email + '</a></td></tr>';
вставляем
PHP:
$html += '<tr><td></td><td></td><td><a href="mailto:' + val.notify_email + '">' + val.notify_email + '</a></td><td>' + val.notify_phone + '</td></tr>';
}
else {
    $html += '<tr><td>' + val.name + '</td><td>' + val.username + '</td><td><a href="mailto:' + val.notify_email + '">' + val.notify_email + '</a></td><td>' + val.notify_phone + '</td></tr>';
Т.е. заменяем первоначальную форму:
waiting_3.jpg
На
waiting_4.jpg
Файл notify.php скопировал в папку html/com_virtuemart/productdetails/ шаблона - для защиты изменений.

Возникло несколько вопросов:
1) Как правильно прописать простую проверку на валидность ввода № телефона?
2) Как защитить внесенные изменения в файлы админки waitingusers.php и product_edit_customer.php (переопределить) от возможных будущих обновлений?
 
Господа, прошу помощи, не работает почему-то всплывающее окно у "Задать вопрос по этому товару". При клике отправляется на страницу Для просмотра ссылки Войди или Зарегистрируйся
Пример тут - Для просмотра ссылки Войди или Зарегистрируйся

в коде вот так :

Код:
<a class="ask-a-question modal" rel="{handler: 'iframe', size: {x: 700, y: 550}}" href="<?php echo $this->askquestion_url ?>"><?php echo JText::_('COM_VIRTUEMART_PRODUCT_ENQUIRY_LBL')?></a>

Пробовал убирать по очереди классы, ничего не выходит, все так же. VM 2.0.12b

Задача, чтобы форма отображалась во всплывающем окне, а не переход на страницу происходил.
 
Смотрю, что facebox.js подключен
У меня так:

PHP:
 <a class="ask-a-question" href="<?php echo $this->askquestion_url ?>" ><?php echo JText::_('COM_VIRTUEMART_PRODUCT_ENQUIRY_LBL') ?></a>
Возможно еще конфликт с каким то плагином или модулем - попробуй по одному отключать и проверять
 
Смотрю, что facebox.js подключен
У меня так:

PHP:
 <a class="ask-a-question" href="<?php echo $this->askquestion_url ?>" ><?php echo JText::_('COM_VIRTUEMART_PRODUCT_ENQUIRY_LBL') ?></a>
Возможно еще конфликт с каким то плагином или модулем - попробуй по одному отключать и проверять

так, как у Вас стояло по умолчанию - тоже не работало.
пойду пробовать отключать.

в Firebug отследил следующую строчку при клике на "Задать вопрос об этом товаре"

Код:
TypeError: $.facebox is not a function

Проблема оказалась в конфликте с jQuery, которую использовал плагин Virtuemart Slider, который выполняет роль лупы. Отключив в нём поддержку jQuery все заработало.

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

Теперь стоит вопрос - как убрать редирект в корзину при добавлении товара, но при этом и отключить всплывающее окно с сообщение о добавлении ? )))
 
В virtuemart настройках есть пункт по поводу всплывающего окна при добавлении.
Настройки- Оформление заказа : Display modal popup upon 'Add to cart'
 
В virtuemart настройках есть пункт по поводу всплывающего окна при добавлении.
Настройки- Оформление заказа : Display modal popup upon 'Add to cart'
Так я же написал - если убрать там галочку, то сразу отправляет в корзину, что просто непозволительно... пока решения не нашел, остался с попапом.

Сегодня возникла необходимость сделать скидку в размере 5% для всех зарегистрированных пользователей. Нагуглив мануал увидел, что достаточно зайти в Shopper Groups в Virtuemart 2 и на странице группы установить необходимое мне значение. Каково же было моё удивление, когда я не обнаружил подобного поля... Кто сталкивался с таким, что посоветуете ? Надо по зарез организовать эту скидку... прилагаю скрин того, как выглядит страница у меня :
 

Вложения

  • sh_gr.jpg
    sh_gr.jpg
    63,5 KB · Просмотры: 17
Так я же написал - если убрать там галочку, то сразу отправляет в корзину, что просто непозволительно... пока решения не нашел, остался с попапом.

Сегодня возникла необходимость сделать скидку в размере 5% для всех зарегистрированных пользователей. Нагуглив мануал увидел, что достаточно зайти в Shopper Groups в Virtuemart 2 и на странице группы установить необходимое мне значение. Каково же было моё удивление, когда я не обнаружил подобного поля... Кто сталкивался с таким, что посоветуете ? Надо по зарез организовать эту скидку... прилагаю скрин того, как выглядит страница у меня :
это для первого вирта мануал или для бэтки был.
"Налоги и правила расчета" - сейчас это тут все. создай правило, задай там скидку, выбери группу и категорию\и которые облагаются скидкой ;) (ну и другие правила можно подкрутить заодно)

aivalab
вариант 1 - отключаем в админке всплывающее окошко и меняем в шаблоне
Код:
<noscript><input type="hidden" name="task" value="add" /></noscript>
 
на
 
<input type="hidden" name="task" value="add" />

вариант 2 - закомментировать кусок кода в функции отвечающей за попап
Код:
function sendtocart(form){
это файл vmprices.js

p.s. под рукой скрипта сейчас нет - пишу с планшета и проверить нет возможности. если не получится позже гляну с компа и укажу точнее.
 
это для первого вирта мануал или для бэтки был.
"Налоги и правила расчета" - сейчас это тут все. создай правило, задай там скидку, выбери группу и категорию\и которые облагаются скидкой ;) (ну и другие правила можно подкрутить заодно)

aivalab
вариант 1 - отключаем в админке всплывающее окошко и меняем в шаблоне
Код:
<noscript><input type="hidden" name="task" value="add" /></noscript>
 
на
 
<input type="hidden" name="task" value="add" />

вариант 2 - закомментировать кусок кода в функции отвечающей за попап
Код:
function sendtocart(form){
это файл vmprices.js

p.s. под рукой скрипта сейчас нет - пишу с планшета и проверить нет возможности. если не получится позже гляну с компа и укажу точнее.

Хм, не один из вариантов не заработал - при отключенном попапе все равно отправляет в коризну ((

А вот по скидкам настроил, правда не полностью - хотелось бы знать как сделать так, чтобы зареганный пользователь и так видящий все цены с 5% скидкой не мог использовать еще и купон скидочный ?
 
Назад
Сверху