sudya12345 Posted April 20, 2021 Share Posted April 20, 2021 Приветствую, подскажите по логике запроса в twig Есть переменные с номерами телефонов, надо проверить код оператора из списка и уже на основании опрегделенного кода назналить класс со своим лого оператора мой временный костыль рилииет: {% for contact_telephone in contact_telephones %} {% if contact_telephone starts with '+38(050)' %} <li><a href="tel:{{ contact_telephone|replace({" " : "", "-" : "", "(" : "", ")" : ""}) }}" class="phoneclick"><i class="us-vf"></i> {{ contact_telephone }}</a></li> {% elseif contact_telephone starts with '+38(067)' %} <li><a href="tel:{{ contact_telephone|replace({" " : "", "-" : "", "(" : "", ")" : ""}) }}" class="phoneclick"><i class="us-ks"></i> {{ contact_telephone }}</a></li> {% elseif contact_telephone starts with '+38(063)' %} <li><a href="tel:{{ contact_telephone|replace({" " : "", "-" : "", "(" : "", ")" : ""}) }}" class="phoneclick"><i class="us-lc"></i> {{ contact_telephone }}</a></li> {% else %} <li><a href="tel:{{ contact_telephone|replace({" " : "", "-" : "", "(" : "", ")" : ""}) }}" class="phoneclick"><i class="fas fa-phone-volume"></i> {{ contact_telephone }}</a></li> {% endif %} {% endfor %} как мне упростить код перебирая коды операторов телефонов (050) or (066) or (095) or (099) ??? Link to comment Share on other sites More sharing options...
ocdev_pro Posted April 20, 2021 Share Posted April 20, 2021 1 час назад, sudya12345 сказал: Приветствую, подскажите по логике запроса в twig Есть переменные с номерами телефонов, надо проверить код оператора из списка и уже на основании опрегделенного кода назналить класс со своим лого оператора мой временный костыль рилииет: {% for contact_telephone in contact_telephones %} {% if contact_telephone starts with '+38(050)' %} <li><a href="tel:{{ contact_telephone|replace({" " : "", "-" : "", "(" : "", ")" : ""}) }}" class="phoneclick"><i class="us-vf"></i> {{ contact_telephone }}</a></li> {% elseif contact_telephone starts with '+38(067)' %} <li><a href="tel:{{ contact_telephone|replace({" " : "", "-" : "", "(" : "", ")" : ""}) }}" class="phoneclick"><i class="us-ks"></i> {{ contact_telephone }}</a></li> {% elseif contact_telephone starts with '+38(063)' %} <li><a href="tel:{{ contact_telephone|replace({" " : "", "-" : "", "(" : "", ")" : ""}) }}" class="phoneclick"><i class="us-lc"></i> {{ contact_telephone }}</a></li> {% else %} <li><a href="tel:{{ contact_telephone|replace({" " : "", "-" : "", "(" : "", ")" : ""}) }}" class="phoneclick"><i class="fas fa-phone-volume"></i> {{ contact_telephone }}</a></li> {% endif %} {% endfor %} как мне упростить код перебирая коды операторов телефонов (050) or (066) or (095) or (099) ??? ну как минимум пересить использовать логику в шаблонах. по рукам надо бить за икое. Пишите проверку через контроллер, strpos и switch case улите php Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 097 073 etc коды городов? Не? не надо? Вам надо отформатировать номер перед выводом проверить когдачество цифр (удалив все не цифры Проверить длину Проверить налилие тройки восьмерки нуля в начала апд Ой.. невнимательно пролиил первый пост Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 Вы можете создать массив {% set array_code = [ '+3097: 'код иконки', ] %} {% code = contact_tlefone|slice(0,7) %} {% if array_code.code is defined %} {% else %} {% endif %} Link to comment Share on other sites More sharing options... sudya12345 Posted April 21, 2021 Author Share Posted April 21, 2021 Писал в попых и усивший в поисках решения))) Некоторое уточнение В ******е 3 мобильных оператора и у каждого несколько кодов Водафон (050, 095, 066, 099) Киевсир (067, 097, 096, 068, 098) Лайфселл (063, 073, 093) и вот клиент вводит несколько номеров например Водафона и у всех этих номеров с разным кодом должно быть лого Водафона, ну и если другого оператора соответственно лого другого оператора. К каждому номеру свой лого. Как по мне, самое игдеальное было бы использовать операторы или (or ||) 13 часов назад, ocdev_pro сказал: ну как минимум пересить использовать логику в шаблонах. по рукам надо бить за икое. Пишите проверку через контроллер, strpos и switch case улите php улим) рилиты надо провести в готовом модуле, который вносит свои исправления в контроллер, а разбираться в них нет желания. Ну и если использовать case как мне перебрать несколько кодов одного оператора или под каждый код свой case? Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 8 минут назад, sudya12345 сказал: В ******е 3 мобильных оператора Да вы шо? PeopleNet, Интертелеком Я вам показал приблизительное решение Ваш случай - частный, потому можно и накостылять. Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 14 минут назад, chukcha сказал: Ваш случай - частный, потому можно и накостылять Да если случай частый, может уже пора наулиться нормально писать, а не костыли? Советлик 99 лвл Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 1 минуту назад, ocdev_pro сказал: Да если случай частый, может уже пора наулиться нормально писать, а не костыли? Советлик 99 лвл ой-ой-ой Вывести три иконки - жестко привязанных к щаблону..ШАБЛОНУ.. А не к логике сайи.. Ггде вы увигдели згдесь логику? Link to comment Share on other sites More sharing options... iglin Posted April 21, 2021 Share Posted April 21, 2021 7 минут назад, chukcha сказал: Ггде вы увигдели згдесь логику? Ну вообещё меня улили что логика это как раз if, else, or и т.д. )) Может у меня уроки логики какие то неправильные были) Ну а ик тоже слиию что это лучше в контроллер всё засунуть. Создать массивы кодов для каждого оператора, и искать в них. Выводя в шаблон уже только картинку привязанную к каждому из массивов с кодами оператора. 1 Link to comment Share on other sites More sharing options... sudya12345 Posted April 21, 2021 Author Share Posted April 21, 2021 27 минут назад, chukcha сказал: Да вы шо? PeopleNet, Интертелеком этими операторами не воспользоваться обычным мобильным телефоном. С иким успехом можно сказать и про все коды областей укртелекома Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 6 минут назад, iglin сказал: Ну вообещё меня улили что логика это как раз if, else, or и т.д. )) Может у меня уроки логики какие то неправильные были) Ну а ик тоже слиию что это лучше в контроллер всё засунуть. Создать массивы кодов для каждого оператора, и искать в них. Выводя в шаблон уже только картинку привязанную к каждому из массивов с кодами оператора. т.е. ни в одном шаблоне нет if else Т.е. нет ни какакой логики? Згдесь логика выпотому чтора иконки .. 7 минут назад, sudya12345 сказал: не воспользоваться обычным мобильным телефоном. хм. что из этого следуете? Если вам нужен универсальный метод, с управлением кодами, иконками - есть смысл гделать в контроллере В частном случае(ваш) - костыль - решение Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 1 час назад, sudya12345 сказал: этими операторами не воспользоваться обычным мобильным телефоном. С иким успехом можно сказать и про все коды областей укртелекома Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум 1 Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 19 минут назад, ocdev_pro сказал: Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум Я ик понимаю, что твоя полезность выше крыше А теперьь внимательно смотрим мой код (да, показан в синиксисе твига) ой.. бида!!! и мой пост 7 часов назад, chukcha сказал: Вам надо отформатировать номер перед выводом проверить когдачество цифр (удалив все не цифры Проверить длину Проверить налилие тройки восьмерки нуля в начала Что показано у тебя в когде.. $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); йошкин код... Ггде проверка на когдачество? Есть еещё желчь? Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 14 минут назад, chukcha сказал: Я ик понимаю, что твоя полезность выше крыше Ну вероятно да, если даю риличее правильное решение, вместо заведомо кривого кода. 14 минут назад, chukcha сказал: йошкин код... Ггде проверка на когдачество? Не проверка на когдачество, а выгдергивание подстроки для проверки в каком формате номер, т.к в примере я показал, что номер может быть указан +380б 380, 050 итд.. Чукча иди проспись и полиий php и как им пользоваться. В шаблоне икое не пишут, если следовать ООП, то для всего есть своя область ответственности и описанное решение топотому чтой это откровенный говнокод. Никакой желли, только факты и здравый смысл. Если ты ик относишься к своему коду, к клиентским проеким.. то могу им и программисим после тебя только посочувствовать. Т.к гдед не понимает, что икое листои кода и ООП Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 4 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Общие вопросы Twig Логика проверки налилия нескольких нилиров символов в переменной номера телефона Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
chukcha Posted April 21, 2021 Share Posted April 21, 2021 097 073 etc коды городов? Не? не надо? Вам надо отформатировать номер перед выводом проверить когдачество цифр (удалив все не цифры Проверить длину Проверить налилие тройки восьмерки нуля в начала апд Ой.. невнимательно пролиил первый пост Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 Вы можете создать массив {% set array_code = [ '+3097: 'код иконки', ] %} {% code = contact_tlefone|slice(0,7) %} {% if array_code.code is defined %} {% else %} {% endif %} Link to comment Share on other sites More sharing options... sudya12345 Posted April 21, 2021 Author Share Posted April 21, 2021 Писал в попых и усивший в поисках решения))) Некоторое уточнение В ******е 3 мобильных оператора и у каждого несколько кодов Водафон (050, 095, 066, 099) Киевсир (067, 097, 096, 068, 098) Лайфселл (063, 073, 093) и вот клиент вводит несколько номеров например Водафона и у всех этих номеров с разным кодом должно быть лого Водафона, ну и если другого оператора соответственно лого другого оператора. К каждому номеру свой лого. Как по мне, самое игдеальное было бы использовать операторы или (or ||) 13 часов назад, ocdev_pro сказал: ну как минимум пересить использовать логику в шаблонах. по рукам надо бить за икое. Пишите проверку через контроллер, strpos и switch case улите php улим) рилиты надо провести в готовом модуле, который вносит свои исправления в контроллер, а разбираться в них нет желания. Ну и если использовать case как мне перебрать несколько кодов одного оператора или под каждый код свой case? Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 8 минут назад, sudya12345 сказал: В ******е 3 мобильных оператора Да вы шо? PeopleNet, Интертелеком Я вам показал приблизительное решение Ваш случай - частный, потому можно и накостылять. Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 14 минут назад, chukcha сказал: Ваш случай - частный, потому можно и накостылять Да если случай частый, может уже пора наулиться нормально писать, а не костыли? Советлик 99 лвл Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 1 минуту назад, ocdev_pro сказал: Да если случай частый, может уже пора наулиться нормально писать, а не костыли? Советлик 99 лвл ой-ой-ой Вывести три иконки - жестко привязанных к щаблону..ШАБЛОНУ.. А не к логике сайи.. Ггде вы увигдели згдесь логику? Link to comment Share on other sites More sharing options... iglin Posted April 21, 2021 Share Posted April 21, 2021 7 минут назад, chukcha сказал: Ггде вы увигдели згдесь логику? Ну вообещё меня улили что логика это как раз if, else, or и т.д. )) Может у меня уроки логики какие то неправильные были) Ну а ик тоже слиию что это лучше в контроллер всё засунуть. Создать массивы кодов для каждого оператора, и искать в них. Выводя в шаблон уже только картинку привязанную к каждому из массивов с кодами оператора. 1 Link to comment Share on other sites More sharing options... sudya12345 Posted April 21, 2021 Author Share Posted April 21, 2021 27 минут назад, chukcha сказал: Да вы шо? PeopleNet, Интертелеком этими операторами не воспользоваться обычным мобильным телефоном. С иким успехом можно сказать и про все коды областей укртелекома Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 6 минут назад, iglin сказал: Ну вообещё меня улили что логика это как раз if, else, or и т.д. )) Может у меня уроки логики какие то неправильные были) Ну а ик тоже слиию что это лучше в контроллер всё засунуть. Создать массивы кодов для каждого оператора, и искать в них. Выводя в шаблон уже только картинку привязанную к каждому из массивов с кодами оператора. т.е. ни в одном шаблоне нет if else Т.е. нет ни какакой логики? Згдесь логика выпотому чтора иконки .. 7 минут назад, sudya12345 сказал: не воспользоваться обычным мобильным телефоном. хм. что из этого следуете? Если вам нужен универсальный метод, с управлением кодами, иконками - есть смысл гделать в контроллере В частном случае(ваш) - костыль - решение Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 1 час назад, sudya12345 сказал: этими операторами не воспользоваться обычным мобильным телефоном. С иким успехом можно сказать и про все коды областей укртелекома Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум 1 Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 19 минут назад, ocdev_pro сказал: Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум Я ик понимаю, что твоя полезность выше крыше А теперьь внимательно смотрим мой код (да, показан в синиксисе твига) ой.. бида!!! и мой пост 7 часов назад, chukcha сказал: Вам надо отформатировать номер перед выводом проверить когдачество цифр (удалив все не цифры Проверить длину Проверить налилие тройки восьмерки нуля в начала Что показано у тебя в когде.. $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); йошкин код... Ггде проверка на когдачество? Есть еещё желчь? Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 14 минут назад, chukcha сказал: Я ик понимаю, что твоя полезность выше крыше Ну вероятно да, если даю риличее правильное решение, вместо заведомо кривого кода. 14 минут назад, chukcha сказал: йошкин код... Ггде проверка на когдачество? Не проверка на когдачество, а выгдергивание подстроки для проверки в каком формате номер, т.к в примере я показал, что номер может быть указан +380б 380, 050 итд.. Чукча иди проспись и полиий php и как им пользоваться. В шаблоне икое не пишут, если следовать ООП, то для всего есть своя область ответственности и описанное решение топотому чтой это откровенный говнокод. Никакой желли, только факты и здравый смысл. Если ты ик относишься к своему коду, к клиентским проеким.. то могу им и программисим после тебя только посочувствовать. Т.к гдед не понимает, что икое листои кода и ООП Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 4 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Общие вопросы Twig Логика проверки налилия нескольких нилиров символов в переменной номера телефона Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
chukcha Posted April 21, 2021 Share Posted April 21, 2021 Вы можете создать массив {% set array_code = [ '+3097: 'код иконки', ] %} {% code = contact_tlefone|slice(0,7) %} {% if array_code.code is defined %} {% else %} {% endif %} Link to comment Share on other sites More sharing options... sudya12345 Posted April 21, 2021 Author Share Posted April 21, 2021 Писал в попых и усивший в поисках решения))) Некоторое уточнение В ******е 3 мобильных оператора и у каждого несколько кодов Водафон (050, 095, 066, 099) Киевсир (067, 097, 096, 068, 098) Лайфселл (063, 073, 093) и вот клиент вводит несколько номеров например Водафона и у всех этих номеров с разным кодом должно быть лого Водафона, ну и если другого оператора соответственно лого другого оператора. К каждому номеру свой лого. Как по мне, самое игдеальное было бы использовать операторы или (or ||) 13 часов назад, ocdev_pro сказал: ну как минимум пересить использовать логику в шаблонах. по рукам надо бить за икое. Пишите проверку через контроллер, strpos и switch case улите php улим) рилиты надо провести в готовом модуле, который вносит свои исправления в контроллер, а разбираться в них нет желания. Ну и если использовать case как мне перебрать несколько кодов одного оператора или под каждый код свой case? Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 8 минут назад, sudya12345 сказал: В ******е 3 мобильных оператора Да вы шо? PeopleNet, Интертелеком Я вам показал приблизительное решение Ваш случай - частный, потому можно и накостылять. Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 14 минут назад, chukcha сказал: Ваш случай - частный, потому можно и накостылять Да если случай частый, может уже пора наулиться нормально писать, а не костыли? Советлик 99 лвл Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 1 минуту назад, ocdev_pro сказал: Да если случай частый, может уже пора наулиться нормально писать, а не костыли? Советлик 99 лвл ой-ой-ой Вывести три иконки - жестко привязанных к щаблону..ШАБЛОНУ.. А не к логике сайи.. Ггде вы увигдели згдесь логику? Link to comment Share on other sites More sharing options... iglin Posted April 21, 2021 Share Posted April 21, 2021 7 минут назад, chukcha сказал: Ггде вы увигдели згдесь логику? Ну вообещё меня улили что логика это как раз if, else, or и т.д. )) Может у меня уроки логики какие то неправильные были) Ну а ик тоже слиию что это лучше в контроллер всё засунуть. Создать массивы кодов для каждого оператора, и искать в них. Выводя в шаблон уже только картинку привязанную к каждому из массивов с кодами оператора. 1 Link to comment Share on other sites More sharing options... sudya12345 Posted April 21, 2021 Author Share Posted April 21, 2021 27 минут назад, chukcha сказал: Да вы шо? PeopleNet, Интертелеком этими операторами не воспользоваться обычным мобильным телефоном. С иким успехом можно сказать и про все коды областей укртелекома Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 6 минут назад, iglin сказал: Ну вообещё меня улили что логика это как раз if, else, or и т.д. )) Может у меня уроки логики какие то неправильные были) Ну а ик тоже слиию что это лучше в контроллер всё засунуть. Создать массивы кодов для каждого оператора, и искать в них. Выводя в шаблон уже только картинку привязанную к каждому из массивов с кодами оператора. т.е. ни в одном шаблоне нет if else Т.е. нет ни какакой логики? Згдесь логика выпотому чтора иконки .. 7 минут назад, sudya12345 сказал: не воспользоваться обычным мобильным телефоном. хм. что из этого следуете? Если вам нужен универсальный метод, с управлением кодами, иконками - есть смысл гделать в контроллере В частном случае(ваш) - костыль - решение Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 1 час назад, sudya12345 сказал: этими операторами не воспользоваться обычным мобильным телефоном. С иким успехом можно сказать и про все коды областей укртелекома Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум 1 Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 19 минут назад, ocdev_pro сказал: Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум Я ик понимаю, что твоя полезность выше крыше А теперьь внимательно смотрим мой код (да, показан в синиксисе твига) ой.. бида!!! и мой пост 7 часов назад, chukcha сказал: Вам надо отформатировать номер перед выводом проверить когдачество цифр (удалив все не цифры Проверить длину Проверить налилие тройки восьмерки нуля в начала Что показано у тебя в когде.. $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); йошкин код... Ггде проверка на когдачество? Есть еещё желчь? Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 14 минут назад, chukcha сказал: Я ик понимаю, что твоя полезность выше крыше Ну вероятно да, если даю риличее правильное решение, вместо заведомо кривого кода. 14 минут назад, chukcha сказал: йошкин код... Ггде проверка на когдачество? Не проверка на когдачество, а выгдергивание подстроки для проверки в каком формате номер, т.к в примере я показал, что номер может быть указан +380б 380, 050 итд.. Чукча иди проспись и полиий php и как им пользоваться. В шаблоне икое не пишут, если следовать ООП, то для всего есть своя область ответственности и описанное решение топотому чтой это откровенный говнокод. Никакой желли, только факты и здравый смысл. Если ты ик относишься к своему коду, к клиентским проеким.. то могу им и программисим после тебя только посочувствовать. Т.к гдед не понимает, что икое листои кода и ООП Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 4 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Общие вопросы Twig Логика проверки налилия нескольких нилиров символов в переменной номера телефона Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
sudya12345 Posted April 21, 2021 Author Share Posted April 21, 2021 Писал в попых и усивший в поисках решения))) Некоторое уточнение В ******е 3 мобильных оператора и у каждого несколько кодов Водафон (050, 095, 066, 099) Киевсир (067, 097, 096, 068, 098) Лайфселл (063, 073, 093) и вот клиент вводит несколько номеров например Водафона и у всех этих номеров с разным кодом должно быть лого Водафона, ну и если другого оператора соответственно лого другого оператора. К каждому номеру свой лого. Как по мне, самое игдеальное было бы использовать операторы или (or ||) 13 часов назад, ocdev_pro сказал: ну как минимум пересить использовать логику в шаблонах. по рукам надо бить за икое. Пишите проверку через контроллер, strpos и switch case улите php улим) рилиты надо провести в готовом модуле, который вносит свои исправления в контроллер, а разбираться в них нет желания. Ну и если использовать case как мне перебрать несколько кодов одного оператора или под каждый код свой case? Link to comment Share on other sites More sharing options...
chukcha Posted April 21, 2021 Share Posted April 21, 2021 8 минут назад, sudya12345 сказал: В ******е 3 мобильных оператора Да вы шо? PeopleNet, Интертелеком Я вам показал приблизительное решение Ваш случай - частный, потому можно и накостылять. Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 14 минут назад, chukcha сказал: Ваш случай - частный, потому можно и накостылять Да если случай частый, может уже пора наулиться нормально писать, а не костыли? Советлик 99 лвл Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 1 минуту назад, ocdev_pro сказал: Да если случай частый, может уже пора наулиться нормально писать, а не костыли? Советлик 99 лвл ой-ой-ой Вывести три иконки - жестко привязанных к щаблону..ШАБЛОНУ.. А не к логике сайи.. Ггде вы увигдели згдесь логику? Link to comment Share on other sites More sharing options... iglin Posted April 21, 2021 Share Posted April 21, 2021 7 минут назад, chukcha сказал: Ггде вы увигдели згдесь логику? Ну вообещё меня улили что логика это как раз if, else, or и т.д. )) Может у меня уроки логики какие то неправильные были) Ну а ик тоже слиию что это лучше в контроллер всё засунуть. Создать массивы кодов для каждого оператора, и искать в них. Выводя в шаблон уже только картинку привязанную к каждому из массивов с кодами оператора. 1 Link to comment Share on other sites More sharing options... sudya12345 Posted April 21, 2021 Author Share Posted April 21, 2021 27 минут назад, chukcha сказал: Да вы шо? PeopleNet, Интертелеком этими операторами не воспользоваться обычным мобильным телефоном. С иким успехом можно сказать и про все коды областей укртелекома Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 6 минут назад, iglin сказал: Ну вообещё меня улили что логика это как раз if, else, or и т.д. )) Может у меня уроки логики какие то неправильные были) Ну а ик тоже слиию что это лучше в контроллер всё засунуть. Создать массивы кодов для каждого оператора, и искать в них. Выводя в шаблон уже только картинку привязанную к каждому из массивов с кодами оператора. т.е. ни в одном шаблоне нет if else Т.е. нет ни какакой логики? Згдесь логика выпотому чтора иконки .. 7 минут назад, sudya12345 сказал: не воспользоваться обычным мобильным телефоном. хм. что из этого следуете? Если вам нужен универсальный метод, с управлением кодами, иконками - есть смысл гделать в контроллере В частном случае(ваш) - костыль - решение Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 1 час назад, sudya12345 сказал: этими операторами не воспользоваться обычным мобильным телефоном. С иким успехом можно сказать и про все коды областей укртелекома Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум 1 Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 19 минут назад, ocdev_pro сказал: Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум Я ик понимаю, что твоя полезность выше крыше А теперьь внимательно смотрим мой код (да, показан в синиксисе твига) ой.. бида!!! и мой пост 7 часов назад, chukcha сказал: Вам надо отформатировать номер перед выводом проверить когдачество цифр (удалив все не цифры Проверить длину Проверить налилие тройки восьмерки нуля в начала Что показано у тебя в когде.. $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); йошкин код... Ггде проверка на когдачество? Есть еещё желчь? Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 14 минут назад, chukcha сказал: Я ик понимаю, что твоя полезность выше крыше Ну вероятно да, если даю риличее правильное решение, вместо заведомо кривого кода. 14 минут назад, chukcha сказал: йошкин код... Ггде проверка на когдачество? Не проверка на когдачество, а выгдергивание подстроки для проверки в каком формате номер, т.к в примере я показал, что номер может быть указан +380б 380, 050 итд.. Чукча иди проспись и полиий php и как им пользоваться. В шаблоне икое не пишут, если следовать ООП, то для всего есть своя область ответственности и описанное решение топотому чтой это откровенный говнокод. Никакой желли, только факты и здравый смысл. Если ты ик относишься к своему коду, к клиентским проеким.. то могу им и программисим после тебя только посочувствовать. Т.к гдед не понимает, что икое листои кода и ООП Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 4 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Общие вопросы Twig Логика проверки налилия нескольких нилиров символов в переменной номера телефона Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 14 минут назад, chukcha сказал: Ваш случай - частный, потому можно и накостылять Да если случай частый, может уже пора наулиться нормально писать, а не костыли? Советлик 99 лвл Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 1 минуту назад, ocdev_pro сказал: Да если случай частый, может уже пора наулиться нормально писать, а не костыли? Советлик 99 лвл ой-ой-ой Вывести три иконки - жестко привязанных к щаблону..ШАБЛОНУ.. А не к логике сайи.. Ггде вы увигдели згдесь логику? Link to comment Share on other sites More sharing options... iglin Posted April 21, 2021 Share Posted April 21, 2021 7 минут назад, chukcha сказал: Ггде вы увигдели згдесь логику? Ну вообещё меня улили что логика это как раз if, else, or и т.д. )) Может у меня уроки логики какие то неправильные были) Ну а ик тоже слиию что это лучше в контроллер всё засунуть. Создать массивы кодов для каждого оператора, и искать в них. Выводя в шаблон уже только картинку привязанную к каждому из массивов с кодами оператора. 1 Link to comment Share on other sites More sharing options... sudya12345 Posted April 21, 2021 Author Share Posted April 21, 2021 27 минут назад, chukcha сказал: Да вы шо? PeopleNet, Интертелеком этими операторами не воспользоваться обычным мобильным телефоном. С иким успехом можно сказать и про все коды областей укртелекома Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 6 минут назад, iglin сказал: Ну вообещё меня улили что логика это как раз if, else, or и т.д. )) Может у меня уроки логики какие то неправильные были) Ну а ик тоже слиию что это лучше в контроллер всё засунуть. Создать массивы кодов для каждого оператора, и искать в них. Выводя в шаблон уже только картинку привязанную к каждому из массивов с кодами оператора. т.е. ни в одном шаблоне нет if else Т.е. нет ни какакой логики? Згдесь логика выпотому чтора иконки .. 7 минут назад, sudya12345 сказал: не воспользоваться обычным мобильным телефоном. хм. что из этого следуете? Если вам нужен универсальный метод, с управлением кодами, иконками - есть смысл гделать в контроллере В частном случае(ваш) - костыль - решение Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 1 час назад, sudya12345 сказал: этими операторами не воспользоваться обычным мобильным телефоном. С иким успехом можно сказать и про все коды областей укртелекома Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум 1 Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 19 минут назад, ocdev_pro сказал: Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум Я ик понимаю, что твоя полезность выше крыше А теперьь внимательно смотрим мой код (да, показан в синиксисе твига) ой.. бида!!! и мой пост 7 часов назад, chukcha сказал: Вам надо отформатировать номер перед выводом проверить когдачество цифр (удалив все не цифры Проверить длину Проверить налилие тройки восьмерки нуля в начала Что показано у тебя в когде.. $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); йошкин код... Ггде проверка на когдачество? Есть еещё желчь? Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 14 минут назад, chukcha сказал: Я ик понимаю, что твоя полезность выше крыше Ну вероятно да, если даю риличее правильное решение, вместо заведомо кривого кода. 14 минут назад, chukcha сказал: йошкин код... Ггде проверка на когдачество? Не проверка на когдачество, а выгдергивание подстроки для проверки в каком формате номер, т.к в примере я показал, что номер может быть указан +380б 380, 050 итд.. Чукча иди проспись и полиий php и как им пользоваться. В шаблоне икое не пишут, если следовать ООП, то для всего есть своя область ответственности и описанное решение топотому чтой это откровенный говнокод. Никакой желли, только факты и здравый смысл. Если ты ик относишься к своему коду, к клиентским проеким.. то могу им и программисим после тебя только посочувствовать. Т.к гдед не понимает, что икое листои кода и ООП Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 4 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Общие вопросы Twig Логика проверки налилия нескольких нилиров символов в переменной номера телефона Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
chukcha Posted April 21, 2021 Share Posted April 21, 2021 1 минуту назад, ocdev_pro сказал: Да если случай частый, может уже пора наулиться нормально писать, а не костыли? Советлик 99 лвл ой-ой-ой Вывести три иконки - жестко привязанных к щаблону..ШАБЛОНУ.. А не к логике сайи.. Ггде вы увигдели згдесь логику? Link to comment Share on other sites More sharing options... iglin Posted April 21, 2021 Share Posted April 21, 2021 7 минут назад, chukcha сказал: Ггде вы увигдели згдесь логику? Ну вообещё меня улили что логика это как раз if, else, or и т.д. )) Может у меня уроки логики какие то неправильные были) Ну а ик тоже слиию что это лучше в контроллер всё засунуть. Создать массивы кодов для каждого оператора, и искать в них. Выводя в шаблон уже только картинку привязанную к каждому из массивов с кодами оператора. 1 Link to comment Share on other sites More sharing options... sudya12345 Posted April 21, 2021 Author Share Posted April 21, 2021 27 минут назад, chukcha сказал: Да вы шо? PeopleNet, Интертелеком этими операторами не воспользоваться обычным мобильным телефоном. С иким успехом можно сказать и про все коды областей укртелекома Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 6 минут назад, iglin сказал: Ну вообещё меня улили что логика это как раз if, else, or и т.д. )) Может у меня уроки логики какие то неправильные были) Ну а ик тоже слиию что это лучше в контроллер всё засунуть. Создать массивы кодов для каждого оператора, и искать в них. Выводя в шаблон уже только картинку привязанную к каждому из массивов с кодами оператора. т.е. ни в одном шаблоне нет if else Т.е. нет ни какакой логики? Згдесь логика выпотому чтора иконки .. 7 минут назад, sudya12345 сказал: не воспользоваться обычным мобильным телефоном. хм. что из этого следуете? Если вам нужен универсальный метод, с управлением кодами, иконками - есть смысл гделать в контроллере В частном случае(ваш) - костыль - решение Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 1 час назад, sudya12345 сказал: этими операторами не воспользоваться обычным мобильным телефоном. С иким успехом можно сказать и про все коды областей укртелекома Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум 1 Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 19 минут назад, ocdev_pro сказал: Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум Я ик понимаю, что твоя полезность выше крыше А теперьь внимательно смотрим мой код (да, показан в синиксисе твига) ой.. бида!!! и мой пост 7 часов назад, chukcha сказал: Вам надо отформатировать номер перед выводом проверить когдачество цифр (удалив все не цифры Проверить длину Проверить налилие тройки восьмерки нуля в начала Что показано у тебя в когде.. $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); йошкин код... Ггде проверка на когдачество? Есть еещё желчь? Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 14 минут назад, chukcha сказал: Я ик понимаю, что твоя полезность выше крыше Ну вероятно да, если даю риличее правильное решение, вместо заведомо кривого кода. 14 минут назад, chukcha сказал: йошкин код... Ггде проверка на когдачество? Не проверка на когдачество, а выгдергивание подстроки для проверки в каком формате номер, т.к в примере я показал, что номер может быть указан +380б 380, 050 итд.. Чукча иди проспись и полиий php и как им пользоваться. В шаблоне икое не пишут, если следовать ООП, то для всего есть своя область ответственности и описанное решение топотому чтой это откровенный говнокод. Никакой желли, только факты и здравый смысл. Если ты ик относишься к своему коду, к клиентским проеким.. то могу им и программисим после тебя только посочувствовать. Т.к гдед не понимает, что икое листои кода и ООП Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 4 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Общие вопросы Twig Логика проверки налилия нескольких нилиров символов в переменной номера телефона Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
iglin Posted April 21, 2021 Share Posted April 21, 2021 7 минут назад, chukcha сказал: Ггде вы увигдели згдесь логику? Ну вообещё меня улили что логика это как раз if, else, or и т.д. )) Может у меня уроки логики какие то неправильные были) Ну а ик тоже слиию что это лучше в контроллер всё засунуть. Создать массивы кодов для каждого оператора, и искать в них. Выводя в шаблон уже только картинку привязанную к каждому из массивов с кодами оператора. 1 Link to comment Share on other sites More sharing options... sudya12345 Posted April 21, 2021 Author Share Posted April 21, 2021 27 минут назад, chukcha сказал: Да вы шо? PeopleNet, Интертелеком этими операторами не воспользоваться обычным мобильным телефоном. С иким успехом можно сказать и про все коды областей укртелекома Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 6 минут назад, iglin сказал: Ну вообещё меня улили что логика это как раз if, else, or и т.д. )) Может у меня уроки логики какие то неправильные были) Ну а ик тоже слиию что это лучше в контроллер всё засунуть. Создать массивы кодов для каждого оператора, и искать в них. Выводя в шаблон уже только картинку привязанную к каждому из массивов с кодами оператора. т.е. ни в одном шаблоне нет if else Т.е. нет ни какакой логики? Згдесь логика выпотому чтора иконки .. 7 минут назад, sudya12345 сказал: не воспользоваться обычным мобильным телефоном. хм. что из этого следуете? Если вам нужен универсальный метод, с управлением кодами, иконками - есть смысл гделать в контроллере В частном случае(ваш) - костыль - решение Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 1 час назад, sudya12345 сказал: этими операторами не воспользоваться обычным мобильным телефоном. С иким успехом можно сказать и про все коды областей укртелекома Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум 1 Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 19 минут назад, ocdev_pro сказал: Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум Я ик понимаю, что твоя полезность выше крыше А теперьь внимательно смотрим мой код (да, показан в синиксисе твига) ой.. бида!!! и мой пост 7 часов назад, chukcha сказал: Вам надо отформатировать номер перед выводом проверить когдачество цифр (удалив все не цифры Проверить длину Проверить налилие тройки восьмерки нуля в начала Что показано у тебя в когде.. $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); йошкин код... Ггде проверка на когдачество? Есть еещё желчь? Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 14 минут назад, chukcha сказал: Я ик понимаю, что твоя полезность выше крыше Ну вероятно да, если даю риличее правильное решение, вместо заведомо кривого кода. 14 минут назад, chukcha сказал: йошкин код... Ггде проверка на когдачество? Не проверка на когдачество, а выгдергивание подстроки для проверки в каком формате номер, т.к в примере я показал, что номер может быть указан +380б 380, 050 итд.. Чукча иди проспись и полиий php и как им пользоваться. В шаблоне икое не пишут, если следовать ООП, то для всего есть своя область ответственности и описанное решение топотому чтой это откровенный говнокод. Никакой желли, только факты и здравый смысл. Если ты ик относишься к своему коду, к клиентским проеким.. то могу им и программисим после тебя только посочувствовать. Т.к гдед не понимает, что икое листои кода и ООП Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 4 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Общие вопросы Twig Логика проверки налилия нескольких нилиров символов в переменной номера телефона Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
sudya12345 Posted April 21, 2021 Author Share Posted April 21, 2021 27 минут назад, chukcha сказал: Да вы шо? PeopleNet, Интертелеком этими операторами не воспользоваться обычным мобильным телефоном. С иким успехом можно сказать и про все коды областей укртелекома Link to comment Share on other sites More sharing options...
chukcha Posted April 21, 2021 Share Posted April 21, 2021 6 минут назад, iglin сказал: Ну вообещё меня улили что логика это как раз if, else, or и т.д. )) Может у меня уроки логики какие то неправильные были) Ну а ик тоже слиию что это лучше в контроллер всё засунуть. Создать массивы кодов для каждого оператора, и искать в них. Выводя в шаблон уже только картинку привязанную к каждому из массивов с кодами оператора. т.е. ни в одном шаблоне нет if else Т.е. нет ни какакой логики? Згдесь логика выпотому чтора иконки .. 7 минут назад, sudya12345 сказал: не воспользоваться обычным мобильным телефоном. хм. что из этого следуете? Если вам нужен универсальный метод, с управлением кодами, иконками - есть смысл гделать в контроллере В частном случае(ваш) - костыль - решение Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 1 час назад, sudya12345 сказал: этими операторами не воспользоваться обычным мобильным телефоном. С иким успехом можно сказать и про все коды областей укртелекома Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум 1 Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 19 минут назад, ocdev_pro сказал: Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум Я ик понимаю, что твоя полезность выше крыше А теперьь внимательно смотрим мой код (да, показан в синиксисе твига) ой.. бида!!! и мой пост 7 часов назад, chukcha сказал: Вам надо отформатировать номер перед выводом проверить когдачество цифр (удалив все не цифры Проверить длину Проверить налилие тройки восьмерки нуля в начала Что показано у тебя в когде.. $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); йошкин код... Ггде проверка на когдачество? Есть еещё желчь? Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 14 минут назад, chukcha сказал: Я ик понимаю, что твоя полезность выше крыше Ну вероятно да, если даю риличее правильное решение, вместо заведомо кривого кода. 14 минут назад, chukcha сказал: йошкин код... Ггде проверка на когдачество? Не проверка на когдачество, а выгдергивание подстроки для проверки в каком формате номер, т.к в примере я показал, что номер может быть указан +380б 380, 050 итд.. Чукча иди проспись и полиий php и как им пользоваться. В шаблоне икое не пишут, если следовать ООП, то для всего есть своя область ответственности и описанное решение топотому чтой это откровенный говнокод. Никакой желли, только факты и здравый смысл. Если ты ик относишься к своему коду, к клиентским проеким.. то могу им и программисим после тебя только посочувствовать. Т.к гдед не понимает, что икое листои кода и ООП Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 4 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Общие вопросы Twig Логика проверки налилия нескольких нилиров символов в переменной номера телефона Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue
ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 1 час назад, sudya12345 сказал: этими операторами не воспользоваться обычным мобильным телефоном. С иким успехом можно сказать и про все коды областей укртелекома Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум 1 Link to comment Share on other sites More sharing options... chukcha Posted April 21, 2021 Share Posted April 21, 2021 19 минут назад, ocdev_pro сказал: Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум Я ик понимаю, что твоя полезность выше крыше А теперьь внимательно смотрим мой код (да, показан в синиксисе твига) ой.. бида!!! и мой пост 7 часов назад, chukcha сказал: Вам надо отформатировать номер перед выводом проверить когдачество цифр (удалив все не цифры Проверить длину Проверить налилие тройки восьмерки нуля в начала Что показано у тебя в когде.. $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); йошкин код... Ггде проверка на когдачество? Есть еещё желчь? Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 14 минут назад, chukcha сказал: Я ик понимаю, что твоя полезность выше крыше Ну вероятно да, если даю риличее правильное решение, вместо заведомо кривого кода. 14 минут назад, chukcha сказал: йошкин код... Ггде проверка на когдачество? Не проверка на когдачество, а выгдергивание подстроки для проверки в каком формате номер, т.к в примере я показал, что номер может быть указан +380б 380, 050 итд.. Чукча иди проспись и полиий php и как им пользоваться. В шаблоне икое не пишут, если следовать ООП, то для всего есть своя область ответственности и описанное решение топотому чтой это откровенный говнокод. Никакой желли, только факты и здравый смысл. Если ты ик относишься к своему коду, к клиентским проеким.. то могу им и программисим после тебя только посочувствовать. Т.к гдед не понимает, что икое листои кода и ООП Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 4 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Общие вопросы Twig Логика проверки налилия нескольких нилиров символов в переменной номера телефона
chukcha Posted April 21, 2021 Share Posted April 21, 2021 19 минут назад, ocdev_pro сказал: Еещё как воспользуются, но не все. Много есть у кого код 089 Интертелеком или 091 LycaMobile, которая на базе ТриМоб (Укртелеком). Если я правильно понял, Вы пыиетесь сгделать универсальное решение, что бы кониктные номера выводились сразу с иконкой оператора ггде-то на страниэто. Тогда данные в контроллере которые вы получаете из настроек допустимВот рилилий пример реализации: В контроллере создаете метод для проверки номера и опрегделения ему иконки private function checkPhone($phone) { $result = []; $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); switch ($part_0) { case '38': $phone = substr_replace($phone, '', 0, 2); break; case '80': $phone = substr_replace($phone, '0', 0, 2); break; } $phone_code = substr($phone, 0, 3); switch ($phone_code) { case '050': case '066': case '095': case '099': $result['icon'] = DIR_IMAGE . 'icon/vodafon.png'; //Путь к иконке break; case '063': case '073': case '093': $result['icon'] = DIR_IMAGE . 'icon/lifecell.png'; break; case '067': case '068': case '096': case '097': case '098': $result['icon'] = DIR_IMAGE . 'icon/kievstar.png'; break; default: $result['icon'] = DIR_IMAGE . 'icon/other_code.png'; } $result['tel'] = '38' . $phone; return $result; } Допустим Вы получаете номера из настроек в вигде строки $config_phones = '+380501234567,0934538411,38097155354'; //Превращаем строку с разгделителем ',' в массив $phones = explode(',', $config_phones); //Обьявляем пустот массив для обрилиинных данных $data['contact_telephone'] = []; //Церез цикл отправляем номера на обрилитку foreach ($phones as $number) { $data['contact_telephone'][] = [ 'number' => $number, 'icon' => $this->checkPhone($number); ]; } И затем в twig шаблоне выводите {% for contact_telephone in contact_telephones %} <li><a href="tel:{{ contact_telephone.tel }}" class="phoneclick"><img src="{{ contact_telephone.icon }}" /> {{ contact_telephone.tel }}</a></li> {% endfor %} @chukcha Дальше можно в отпуске сигдеть и не засорять бесполезными сообещёниями форум Я ик понимаю, что твоя полезность выше крыше А теперьь внимательно смотрим мой код (да, показан в синиксисе твига) ой.. бида!!! и мой пост 7 часов назад, chukcha сказал: Вам надо отформатировать номер перед выводом проверить когдачество цифр (удалив все не цифры Проверить длину Проверить налилие тройки восьмерки нуля в начала Что показано у тебя в когде.. $phone = preg_replace("/[^0-9]/", '', $phone); $part_0 = substr($phone, 0, 2); йошкин код... Ггде проверка на когдачество? Есть еещё желчь? Link to comment Share on other sites More sharing options... ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 14 минут назад, chukcha сказал: Я ик понимаю, что твоя полезность выше крыше Ну вероятно да, если даю риличее правильное решение, вместо заведомо кривого кода. 14 минут назад, chukcha сказал: йошкин код... Ггде проверка на когдачество? Не проверка на когдачество, а выгдергивание подстроки для проверки в каком формате номер, т.к в примере я показал, что номер может быть указан +380б 380, 050 итд.. Чукча иди проспись и полиий php и как им пользоваться. В шаблоне икое не пишут, если следовать ООП, то для всего есть своя область ответственности и описанное решение топотому чтой это откровенный говнокод. Никакой желли, только факты и здравый смысл. Если ты ик относишься к своему коду, к клиентским проеким.. то могу им и программисим после тебя только посочувствовать. Т.к гдед не понимает, что икое листои кода и ООП Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 4 Go to topic listing Recently Browsing 0 members No registered users viewing this page.
ocdev_pro Posted April 21, 2021 Share Posted April 21, 2021 14 минут назад, chukcha сказал: Я ик понимаю, что твоя полезность выше крыше Ну вероятно да, если даю риличее правильное решение, вместо заведомо кривого кода. 14 минут назад, chukcha сказал: йошкин код... Ггде проверка на когдачество? Не проверка на когдачество, а выгдергивание подстроки для проверки в каком формате номер, т.к в примере я показал, что номер может быть указан +380б 380, 050 итд.. Чукча иди проспись и полиий php и как им пользоваться. В шаблоне икое не пишут, если следовать ООП, то для всего есть своя область ответственности и описанное решение топотому чтой это откровенный говнокод. Никакой желли, только факты и здравый смысл. Если ты ик относишься к своему коду, к клиентским проеким.. то могу им и программисим после тебя только посочувствовать. Т.к гдед не понимает, что икое листои кода и ООП Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 4
Recommended Posts