- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Вместо разделителей прописанных в языковом файле, выводи «111t111t111d00» (прикрипил скриншот)
В языковом файле прописано:
$_['decimal_point'] = ',';
$_['thousand_point'] = '.';
Помогите решить проблему
WooCommerce Product Request (https://wordpress.org/plugins/woo-product-request/) - Покупка в один клик
skoch, что если поменять в языковом файле . и ,? Поменять на другие символы?
skoch, что если поменять в языковом файле . и ,? Поменять на другие символы?
Ничего не изменилось, пробовал.
В базе цена записана нормально 1000.000
Ничего не изменилось, пробовал.
В базе цена записана нормально 1000.000
значит проследите путь, языковой файл, шаблон, контроллер. где-то там что-то не то. найдите функцию, которая добавляет
Корзину же js считает, и тоже как сервер, или там сервер умножает?
Кстати грамотно будет не thousand_point а thousand_sep (separator), потому что точка-запятая математический знак, а разделитель тысячных разрядов - дизайн.
значит проследите путь, языковой файл, шаблон, контроллер. где-то там что-то не то. найдите функцию, которая добавляет
Вроде нашел откуда проблема.
Файл
/system/library/currency.php
Есть такой код:
Если вывести $decimal_point или $thousand_point то увидим просто текстом decimal_point или thousand_point
Если вывести $string, то видим тот бред что в стартопике.
Как вариант можно заменить $this->language->get('decimal_point') и $this->language->get('thousand_point') но это самый простой вариант и не лучший.
Если нужно будет изменить разделители, нужно будет искать где заменять(через пол года тяжело будет вспомнить где что в коде менялось).
Ищу почему не цепляет из языкового файла
Если вывести $string, то видим тот бред что в стартопике.
Это не бред, number_format() берет ровно 1 символ из строки, первый надо полагать.
---------- Добавлено 23.07.2015 в 11:34 ----------
Если нужно будет изменить разделители
Не нужно будет если сделаете . и пробел для дизайна тысяч. В РФ, я проверял, нет стандарта на символ разделителя десятичной дроби, а пробел он и в Африке пробел - никому не мешает. Я так сделал помучившись с попытками наладить индустриальный вывод через локаль и горя с тех пор не знаю.
Это не бред, number_format() берет ровно 1 символ из строки, первый надо полагать.
Это понятно.
Бред в том что цена выводиться в формате «111t111t111d00»
Надо $value вывести, без формата.
---------- Добавлено 23.07.2015 в 11:57 ----------
ЗЫ Я видел коды опенкарт в период осмотра что уже написано. Старье конечно, несусветное и сидеть под этим моросящим дождем из переменных которые кочуют из инклюды в инклюду глобально вообще неуютно. Сейчас так по-моему уже не делают. Фиг же найдешь кто ее прикокнул, это $value. А прикокнуть по стилю программирования могут запросто. Например в чем сакральный смысл двух одинаковых проверок? Чтобы типа выкосить одну еслиф что? Типа юзеру метанарратив - порть чувак что угодно, запростяк. В нормальных же фреймворках юзеру сразу пишут - вот мы тебе унаследовали затычку - ее мучай, а там - не мучай.