oscommerce — пытается выяснить, какой файл PHP редактировать

Я хочу сделать простое изменение в моем интернет-магазине OSCommerce. Чтобы снять отметку с переключателя, который теперь установлен по умолчанию. Многие клиенты не удосужились прочитать страницу и просто нажимают «Далее». Поэтому я хочу, чтобы значение по умолчанию не проверялось, поэтому клиент вынужден сделать выбор.

Поэтому я использовал FireBug, чтобы найти исходный код под кнопкой:

<td align="right"><input type="radio" name="shipping" value="flat_flat" checked="checked" /></td>

Новичку в PHP, вроде меня, кажется, я просто удаляю checked = «checked».

Однако я обнаружил, что невозможно найти, в какой файл PHP я должен внести изменения. Сама страница называется checkout_shipping.php, но после проверки php-файла ее там нет.

Поэтому я скачал полный интернет-магазин и использовал Agent Ransack для поиска каждого файла.

Ничего такого!

Может ли кто-нибудь помочь мне понять это? Буду признателен за помощь

0

Решение

Фактически, HTML для этого ввода динамически создается в файле checkout_shipping.php функцией tep_draw_radio_field, Там есть блок кода, который проходит через каждый доступный модуль доставки и создает радио для каждого.

«Проверено» по умолчанию на самом деле является причиной класса доставки cheapest() метод запускается выше в том же файле.

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

if ( !tep_session_is_registered('shipping') || ( tep_session_is_registered('shipping') && ($shipping == false) && (tep_count_shipping_modules() > 1) ) ) $shipping = $shipping_modules->cheapest();

Для того, чтобы:

//if ( !tep_session_is_registered('shipping') || ( tep_session_is_registered('shipping') && ($shipping == false) && (tep_count_shipping_modules() > 1) ) ) $shipping = $shipping_modules->cheapest();

Это должно оставить все радио без контроля при первом посещении пользователем страницы доставки. Кроме того, он оставляет нетронутым радио, выбранное по умолчанию, если пользователь возвращается на страницу доставки позже в процессе оформления заказа, чтобы изменить способ доставки.

1

Другие решения

Возможно, будет проще использовать jQuery для манипулирования элементом, когда страница полностью отобразит форму.

Некоторые образцы (любой должен работать, предоставляя альтернативы «на всякий случай»):

  • $('input[type="radio"][name="shipping"]').removeAttr("checked");
  • $('input[type="radio"][name="shipping"]').attr("checked", false);
  • $('input[type="radio"][name="shipping"]').prop("checked", false);

Однако я не уверен, на какой странице вы добавите этот код. Я думаю, если есть страница просмотра, которая сначала отображает содержимое, например, файл /directory/view/index.php?

0

По вопросам рекламы [email protected]