Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски


[Ответить в тред] Ответить в тред

Check this out!

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 73 | 8 | 8
Назад Вниз Каталог Обновить

Аноним 10/11/17 Птн 18:26:22  164714523  
15049130629642.jpg (398Кб, 800x1200)
Сап, /б/. Передо мной встал вопрос пхп кодинга, в частности передо мной стоит задача на сайте под вордпрессом в куске плагина woocommerce сделать так, чтобы при выборе региона поле почтового индекса становилось активным/неактивным в зависимости от региона. Мне вроде удалось найти, как провернуть такое с кастомным полем, но вот что делать с дефолтным не ясно и главное - не могу понять, где мне искать само описание этого выпадающего списка в файлах сайта. Сайт написан максимально дефолтно, изменений шаблона минимум. Анончик, если ты работал с этим дерьмом, подскажи, пожалуйста, как мне добраться до этого поля или в каком файле библиотеки его искать/инджектить js код. С меня как обычно
Аноним 10/11/17 Птн 18:27:33  164714607
15035083257170.gif (2044Кб, 398x346)
бамп
Аноним 10/11/17 Птн 18:28:24  164714674
бамп
Аноним 10/11/17 Птн 18:32:02  164714934
бамп
Аноним 10/11/17 Птн 18:33:18  164715014
7403092e69512c2[...].mp4 (67Кб, 252x352, 00:00:02)
бамп
Аноним 10/11/17 Птн 18:35:46  164715172
бамп
Аноним 10/11/17 Птн 18:37:42  164715293
бамп
Аноним 10/11/17 Птн 18:46:09  164715783
бамп
Аноним 10/11/17 Птн 18:48:15  164715909
15035157990540.jpg (228Кб, 1600x1158)
бамп
Аноним 10/11/17 Птн 18:57:02  164716430
бамп
Аноним 10/11/17 Птн 19:06:00  164717010
бамп
Аноним 10/11/17 Птн 19:42:39  164719412
>>164714523 (OP)
Можно просто скрывать это поле через js в зависимости от выбранной страны. Если очень хочется, то делать проверку на стороне сервера.
Аноним 10/11/17 Птн 19:49:41  164719866
>>164719412
Друже, подскажи, как это сделать и где
Аноним 10/11/17 Птн 19:54:19  164720125
one.PNG (19Кб, 1202x602)
two.PNG (62Кб, 1208x897)
>>164719866
Все зависит оттого, как у тебя выглядит поле оформления. Похоже на одну из этих картинок?
Аноним 10/11/17 Птн 19:55:22  164720181
>>164720125
да, очень похоже на правую
Аноним 10/11/17 Птн 19:58:48  164720401
>>164720181
Я не работал с этим плагином для вордпресса, так что не знаю, можно ли в нем сделать индекс необязательным полем. Если можно, то упростит задачу. Если нет, то надо будет php-код править, так как при попытке заказа заполнение полей проверяется на сервере.
Аноним 10/11/17 Птн 19:59:51  164720483
>>164720401
можно, через functions.php, но заказчик хочет, чтобы когда поле было активно оно было обязательно
Аноним 10/11/17 Птн 20:01:41  164720615
>>164720401
А может, можно как то еще, но можно 100%, уже проверял отдельно. Уперся в то, что не догоняю, как условие на срабатывание этой штуки подвесить
Аноним 10/11/17 Птн 20:02:43  164720678
>>164720615
Могу тебе кинуть для начала примерный код для обработки запроса на фронтенде. Но нужно еще будет бэкенд накатать.
Аноним 10/11/17 Птн 20:04:14  164720789
>>164720678
кидай, только скажи куда его воткнуть
Аноним 10/11/17 Птн 20:05:48  164720898
>>164720615
$("select").change(function(){
if($(this).val() == 0) return false;

alert($(this).val());
});
Аноним 10/11/17 Птн 20:10:07  164721165
>>164720898
а куда это? и вместо select айдишник нужно прописывать, если да, то это будет billing_states?
Аноним 10/11/17 Птн 20:10:14  164721175
>>164720898
Вот этот анон правильно написал. Только тебе потребуется вписать идентификаторы элементов dom из плагина.
Аноним 10/11/17 Птн 20:12:02  164721272
>>164721175
я такую написал уже, только не могу понять, куда ее вставить. Оно вроде понятно, что в файл темы, но в какой именно?...
Аноним 10/11/17 Птн 20:13:42  164721392
>>164721272
в checkout.js не работает при айдишнике billing_state
Аноним 10/11/17 Птн 20:17:36  164721649
>>164721392
Попробуй туда следующий код вписать:

jQuery(document).ready(function($){
var mas = ["Russia", "Ukraine"];
$( "#billing_country" ).change(function() {
if (mas.indexOf($("#billing_country option:selected" ).text()) != -1)
{
$("#billing_postcode").fadeOut();
}
else
{
$("#billing_postcode").fadeIn();
}
});
});
Аноним 10/11/17 Птн 20:23:30  164722024
>>164721649
не реагирует, так же попробовал вне условия прокинуть пустой алерт, ни в какую. В чем может быть проблема?
Попробовал так же с айдишником billing_state, который по идее и нужен
Аноним 10/11/17 Птн 20:24:18  164722073
>>164721649
может, есть смысл зацепиться через document.getElementById?
Аноним 10/11/17 Птн 20:25:20  164722139
>>164714523 (OP)
>делать магазин на движке блогов
Так тебе и надо. Страдай, говноед. Скажу, что на этом твои беды не закончатся.
Аноним 10/11/17 Птн 20:26:57  164722238
>>164722073
upd: так же не помогло
Аноним 10/11/17 Птн 20:28:08  164722303
>>164722024
Разумеется, код должен быть без табуляции и опубликован в custom.js или js-файле со скриптами страницы оформления.
Аноним 10/11/17 Птн 20:31:57  164722563
>>164722303
а где может быть эта страница оформления? без табуляции само собой. Но если это не checkout.js, лежащий в папке assest, плагина, то где оно может быть?
Аноним 10/11/17 Птн 20:35:55  164722808
>>164722563
что характерно, пустой алерт в отрыве от самой функции так же не сработал
Аноним 10/11/17 Птн 20:39:46  164723026
>>164722563
Подключи прямо в html-коде шаблона страницы
<script>
jQuery(document).ready(function(){
var mas = ["Russia", "Ukraine"];
$( "#billing_country" ).change(function() {
if (mas.indexOf($("#billing_country option:selected" ).text()) != -1)
{
$("#billing_postcode").fadeOut();
}
else
{

$("#billing_postcode").fadeIn();
}
});
});
</script>
Аноним 10/11/17 Птн 20:42:31  164723175
>>164723026
>>164722808
И вообще какой ID у тебя поле select со странами имеет?
Аноним 10/11/17 Птн 20:43:45  164723241
>>164723175
если верить гуглохрому в ф12, то select2-billing_state-container (его я тоже попробовал), но там не страны а регионы, в принципе это ничего особо не меняет
Аноним 10/11/17 Птн 20:51:01  164723682
>>164723026
глухо
даже странно, прямую ссылку на селект бокс он должен был проглотить
Аноним 10/11/17 Птн 20:51:29  164723707
>>164723241
Короче по переписке будет очень сложно решить довольно простую проблему. В zip-версии с сайта плагина такой строчки нет. Значит она уже кастомная, либо версия другая.
Аноним 10/11/17 Птн 20:53:41  164723851
>>164723707
понимаю
мб есть какой то топик, где про это почитать можно?
так то я вроде не первый день прогаю, но с цмсками первый раз столкнулся и они сводят меня с ума
Аноним 10/11/17 Птн 21:06:44  164724669
>>164723851
Даже не знаю. В /web/, наверное, тебя обоссут, так как задача решается практически тривиально как на клиенте, так и на сервере. В интернете есть решения, как отключить поле или сделать его необязательным. Просто нужен опыт в работе с jquery, ajax и понимание модели обработки запросов плагинами WordPress'ом. Это приходит с опытом ковыряния чужого кода.
Можешь сюда адрес сайта скинуть, если он в паблике: jgetfagj@emlpro.com
Но, если не хочется деанона, не нужно.
Аноним 10/11/17 Птн 21:11:12  164724920
>>164724669
сайт, к сожалению, не в паблике. Но за помощь все равно спасибо. Бесконечного добра тебе, анон
Аноним 10/11/17 Птн 21:15:21  164725135
>>164724920
Вот тебе хорошая документация по теме полей. Она должна тебе помочь.
https://docs.woocommerce.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/
Аноним 10/11/17 Птн 21:19:59  164725391
14724929850920.webm (1630Кб, 640x360, 00:00:18)
>>164714523 (OP)
>>вротпрес
>>пхп кодинг
Ты так тралиш?

мимо на голенге
Аноним 10/11/17 Птн 21:26:21  164725755
>>164725135
>https://docs.woocommerce.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/
читал, дошел до того, чтобы оверрайднуть дефолтные поля, оверрайднул эти самые поля, но оно как то не сильно помогло
Не догоняю, почему нельзя обратиться к значению поля селект через пхпшный файл с инъекцией джавы, через тот же <script></script>.
Аноним 10/11/17 Птн 21:47:37  164727098
>>164725755
Я поставил этот магазин. Сейчас может быть гляну, что там накрутили.
Аноним 10/11/17 Птн 22:46:45  164730463
bump
Аноним 10/11/17 Птн 23:11:59  164732199
14985117770612.jpg (366Кб, 1200x1272)
бамп
Аноним 10/11/17 Птн 23:20:29  164732721
>>164732199
Ну в принципе получилось сделать костыль, который позволяет реализовать необязательное поле индекса. Правда он может быть затерт обновлениями плагина. Т.е. его нужно вынести куда-то в отдельные файлы.
Аноним 10/11/17 Птн 23:21:30  164732788
>>164732721
скинь, пожалуйста, посмотрю и попробую. И скажи, куда его добавить
Аноним 10/11/17 Птн 23:23:43  164732937
>>164732788
Уточни, тебе надо, чтобы индекс пропадал и из биллинг адреса, и из шиппинг адреса для конкретной страны?
Аноним 10/11/17 Птн 23:24:24  164732980
>>164732937
для конкретного региона, он же state
Аноним 10/11/17 Птн 23:29:42  164733366
>>164732980
Минутку.
Аноним 10/11/17 Птн 23:41:06  164734155
>>164733366
Скажи, для каких стран тебе не нужны индексы?
Аноним 10/11/17 Птн 23:44:28  164734366
>>164734155
есть массив с областями
тип
'MSK' => 'Москва',
'MSKO' => 'Московская область',
'MSKO20' => 'Московская область до 20 км от МКАД',
'ABAO' => 'Агинский Бурятский авт.окр.',
'AR' => 'Адыгея Республика',
'ALR' => 'Алтай Республика',
'AK' => 'Алтайский край',
и так далее
нужно только для MSK и MSKO20
Аноним 10/11/17 Птн 23:47:55  164734579
>>164734366
Понятно. Сейчас поправлю.
Аноним 10/11/17 Птн 23:47:56  164734580
Если Элементы.Область = Перечисления.Области.МосОбл Тогда
Элементы.Индекс.Доступность = Ложь
КонецЕсли
Нахуй вам это ретроградское говно, перекатывайтесь в 1с
Аноним 10/11/17 Птн 23:54:53  164735050
bump
Аноним 10/11/17 Птн 23:57:39  164735233
ненужно
Аноним 10/11/17 Птн 23:58:38  164735300
>>164735233
нужно(
Аноним 11/11/17 Суб 00:01:12  164735468
Блядь pr нахуя придумали варенник?
Аноним 11/11/17 Суб 00:02:20  164735541
>>164735300
А где ты взял список областей России? В плагине по умолчанию его нет.
Аноним 11/11/17 Суб 00:05:48  164735761
>>164735541
Уже нашел.
Аноним 11/11/17 Суб 00:06:06  164735779
>>164735541
был там до меня, видимо предыдущий хлопец закинул выглядит это вкратце так и лежит в functions.php по адресу /httpdocs/wp-content/plugins/woocommerce/includes

add_filter( 'woocommerce_states', 'custom_woocommerce_states' );
function custom_woocommerce_states( $states ) {
$states['RU'] = array(
'MSK' => 'Москва',
'MSKO' => 'Московская область',
'MSKO20' => 'Московская область до 20 км от МКАД',
'ABAO' => 'Агинский Бурятский авт.окр.',
'AR' => 'Адыгея Республика',
'ALR' => 'Алтай Республика',
'AK' => 'Алтайский край',
'AMO' => 'Амурская область',
'ARO' => 'Архангельская область',
'ACO' => 'Астраханская область'
);

return $states;
}
Аноним 11/11/17 Суб 00:11:53  164736134
>>164735779
Куда кидать файлы с кодом? Сюда лучше не стоит. Разметка поедет.
Как там называется сайт, где можно текст размещать с подсветкой? Забыл, блин!
Аноним 11/11/17 Суб 00:15:29  164736326
>>164736134
я тоже не помню -_-
можешь на почту
hflbcn595@yandex.ru
Аноним 11/11/17 Суб 00:33:59  164737330
out.png (7Кб, 1202x602)
>>164736326
Вспомнил, что можно же зипджипег (пнг) прикрепить.
Аноним 11/11/17 Суб 00:35:01  164737400
>>164737330
А нет. Не работает.
Аноним 11/11/17 Суб 00:36:07  164737462
>>164737400
пастбин мб?
Аноним 11/11/17 Суб 00:42:27  164737799
>>164737462
/wp-content/plugins/woocommerce/assets/js/frontend/checkout.min.js
https://pastebin.com/vy80aBRM

/wp-content/themes/storefront/functions.php
https://pastebin.com/DX0YpVuu

Да. Я тоже вспомнил, что пастбин
Аноним 11/11/17 Суб 00:51:54  164738255
>>164737799
В первом файле начинаются изменения с 126 строчки.
Смотри, какой у тебя подключается min или несжатый, когда изменения переносить будешь. Суть кода - когда срабатывает обработчик изменения выпадающего списка, он смотрит, чтобы была Россия и Москва + область. Если не эти регионы, он индекс не скрывает. Иначе - поле выводит. Если нажать на кнопку Чекаут, что запрос подается в бэкенд вордпресса и плагина. Там его обрабатывает файл functions.php. Он может лежать в папке шаблона, но это не обязательно. Главное правильно перенести изменения. Вот в конце этого файла строчки, в которых вызываются Хуки плагина интернет-магазина. Сначала обрабатываются страна, потом регион. Если это не Москва или область, обязательность индекса отключается. В итоге, если ошибок нет, покупка будет обработана, а если индекс не проставлен в МСК, то будет выдано сообщение о незаполненном поле.

Надо следить, чтобы файлы не затерлись при обновлении плагина. Или переносить код в файлы пользователей, которые точно не будут затронуты.
Аноним 11/11/17 Суб 00:57:59  164738553
>>164738255
спасибо, сейчас попробую
Аноним 11/11/17 Суб 00:59:44  164738640
>>164738255
а как понять, какой грузит?
Аноним 11/11/17 Суб 01:04:07  164738792
>>164738640
В смысле?
Аноним 11/11/17 Суб 01:14:01  164739205
>>164738640
Короче functions.php - он в папке шаблона, который у тебя стоит на магазин.
checkout.min.js или checkout.js - лежат в папке фронтенд. Смотри, какой из них прогружается.

Главное целиком файлы не заменяй, а вручную переноси изменения, благо, их немного.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 73 | 8 | 8
Назад Вверх Каталог Обновить

Топ тредов
Избранное