Убрать лишние знаки в размерах товара

Тема в разделе "OpenCart", создана пользователем KuEdA, 3 ноя 2015.

  1. KuEdA

    KuEdA

    Регистрация:
    20 сен 2014
    Сообщения:
    177
    Симпатии:
    34
    Здравствуйте. При загрузке одиночного размера товара, например http://stylishjewel.ru/r2055/ в табе характеристики появляется такая вот фигня:
    Размер
    16.899999999999999, хотя когда размеров несколько, дробные части прописываются через запятую и без лишних знаков, например: http://stylishjewel.ru/r2900/
    Размер
    15,3 | 15,6 | 16 | 16,6 | 17,8 | 18,2 | 18,5 | 19,4 | 19,8 | 20 | 20,7
    В прайсе одиночный размер указан таким образом: 16,9. Товары загружаю с помощью модуля автоматическая обработка прайс-листов 8.2. С сайта-донора парсинг опций осуществляется посредством Content Downloader. Смотрел в настройках ocstore и модуля, но так и не нашел в чем дело. Подскажите, пожалуйста, если можно, почему у одиночных размеров запятая заменяется точкой и самое главное, появляется столько лишних знаков после разделителя. Как это исправить? Заранее огромное спасибо.
     
  2. personash

    personash

    Регистрация:
    27 окт 2012
    Сообщения:
    285
    Симпатии:
    304
    посмотри здесь система локализация единицы измерения
     
    KuEdA нравится это.
  3. KuEdA

    KuEdA

    Регистрация:
    20 сен 2014
    Сообщения:
    177
    Симпатии:
    34
    Посмотрел. В единицах измерения миллиметр, в поле значение стоит 1.00000000. Выставляю 1,0 или 1.0, ничего не сохраняется в настройках и, соответственно, в карточке товара все остается по-прежнему.
     
  4. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    283
    Симпатии:
    85
    Если вы никаких вычислений не делаете, то должно выводиться так как есть
    Если вы атрибут размеры, прогояете через вычисления - то, наверное, ошибка в округлении, т.е. нет округления.
     
    KuEdA нравится это.
  5. KuEdA

    KuEdA

    Регистрация:
    20 сен 2014
    Сообщения:
    177
    Симпатии:
    34
    Специально я никаких вычислений не делаю. Перегоняю csv в xml с помощью exel, но данные при этом не изменяются, почему на выходе такое получается не могу понять.
    Код:
    236    https://www.silver.ag/ru/silver-ring-heart-7/    15,3 | 16 | 16,9 | 17,2 | 17,8 | 18,2 | 18,5 | 18,8 | 19,1 | 19,4 | 19,8 | 20 | 20,7   
    236    https://www.silver.ag/ru/silver-ring-intertwined-3/    17,5 | 17,8 | 20 | 20,4 | 20,7 | 21 | 21,3 | 21,7   
    236    https://www.silver.ag/ru/silver-ring-trefoil-plating/    17,2 | 17,5 | 17,8 | 18,2   
    236    https://www.silver.ag/ru/silver-ring-heart/    20 | 20,4 | 20,7 | 21 | 21,3 | 21,7   
    236    https://www.silver.ag/ru/silver-ring-simple-2/    17,5 | 17,8 | 18,2 | 20 | 20,4 | 20,7 | 21 | 21,3 | 21,7   
    236    https://www.silver.ag/ru/silver-ring-knot-1/    17,8 | 18,2 | 19,8 | 20 | 20,4 | 20,7 | 21 | 21,3 | 21,7   
    236    https://www.silver.ag/ru/silver-ring-band-8/    19,8 | 20 | 20,4 | 20,7   
    236    https://www.silver.ag/ru/silver-ring-intertwined/    17,8 | 20 | 20,4 | 20,7 | 21,3 | 21,7   
    236    https://www.silver.ag/ru/silver-ring-hearts-gold-plated-1/    17,5   
    236    https://www.silver.ag/ru/silver-ring-fish/    16 | 16,2 | 16,6 | 16,9 | 17,2 | 17,8   
    236    https://www.silver.ag/ru/silver-ring-wedding-ring-4/    16,2 | 16,6 | 19,1 | 20,7   
    236    https://www.silver.ag/ru/silver-ring-wedding-ring-6/    15 | 15,3 | 15,6 | 16 | 16,2 | 16,6 | 16,9 | 17,2 | 17,5 | 17,8 | 18,2 | 18,5 | 18,8 | 19,1 | 19,4 | 19,8 | 20,7   
    236    https://www.silver.ag/ru/silver-ring-hexagram/    19,1 | 19,8 | 20 | 20,4 | 20,7 | 21 | 21,3 | 21,7 | 22 | 22,3 | 22,6   
    236    https://www.silver.ag/ru/silver-ring-zig-zag-2/    20 | 20,4 | 20,7 | 21 | 21,7   
    236    https://www.silver.ag/ru/silver-ring-smooth/    16,2 | 16,6 | 16,9 | 17,2 | 17,5   
    236    https://www.silver.ag/ru/silver-ring-bigger-wave/    17,2 | 17,5 | 17,8   
    236    https://www.silver.ag/ru/silver-ring-wavy-design/    17,2 | 17,5 | 17,8 | 18,2 | 18,5   
    236    https://www.silver.ag/ru/silver-ring-wavelet-3/    16,6 | 17,5   
    236    https://www.silver.ag/ru/silver-ring-band-13/    17,2 | 17,5 | 17,8 | 18,2 | 19,4 | 19,8 | 20 | 20,4 | 20,7 | 21 | 21,3   
    236    https://www.silver.ag/ru/silver-ring-butterfly-2/    17,8 | 18,2   
    236    https://www.silver.ag/ru/silver-ring-rhombus-gold-plated-1/    17,5   
    
     
  6. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    283
    Симпатии:
    85
    ну, как же.. без вычислений
    Смотрите
    16.899999999999999 - выводит - с точкой!
    а у вас, наверное 16,9

    а вот тут
    15,3 | 15,6 | 16 | 16,2 | 16,6 | 16,9 | 17,2 | 17,5 | 17,8
    с запятой
     
  7. KuEdA

    KuEdA

    Регистрация:
    20 сен 2014
    Сообщения:
    177
    Симпатии:
    34
    Это я пример прайса привел своего. В таком случае, где могут производиться вычисления? При конвертации csv в xml? При импорте в магазин? Или уже после импорта в самом шаблоне? Как сделать, чтобы ничего не вычислялось, а просто тупо копировалось из прайса значение ячейки?
     
  8. KuEdA

    KuEdA

    Регистрация:
    20 сен 2014
    Сообщения:
    177
    Симпатии:
    34
    Сейчас открыл xml блокнотом, такая же петрушка:
    Код:
    <?xml version="1.0"?>
    <?mso-application progid="Excel.Sheet"?>
    <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
    xmlns:o="urn:schemas-microsoft-com:office:office"
    xmlns:x="urn:schemas-microsoft-com:office:excel"
    xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
    xmlns:html="http://www.w3.org/TR/REC-html40">
    <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
      <Created>2006-09-16T00:00:00Z</Created>
      <LastSaved>2015-11-03T19:47:36Z</LastSaved>
      <Version>14.00</Version>
    </DocumentProperties>
    <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
      <AllowPNG/>
      <RemovePersonalInformation/>
    </OfficeDocumentSettings>
    <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
      <WindowHeight>8010</WindowHeight>
      <WindowWidth>14805</WindowWidth>
      <WindowTopX>240</WindowTopX>
      <WindowTopY>105</WindowTopY>
      <RefModeR1C1/>
      <ProtectStructure>False</ProtectStructure>
      <ProtectWindows>False</ProtectWindows>
    </ExcelWorkbook>
    <Styles>
      <Style ss:ID="Default" ss:Name="Normal">
       <Alignment ss:Vertical="Bottom"/>
       <Borders/>
       <Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
       <Interior/>
       <NumberFormat/>
       <Protection/>
      </Style>
      <Style ss:ID="s62">
       <NumberFormat ss:Format="@"/>
      </Style>
      <Style ss:ID="s67">
       <NumberFormat ss:Format="0.0"/>
       <Protection ss:Protected="0"/>
      </Style>
    </Styles>
    <Worksheet ss:Name="Лист1">
      <Table ss:ExpandedColumnCount="4" ss:ExpandedRowCount="1" x:FullColumns="1"
       x:FullRows="1" ss:DefaultRowHeight="14.4375">
       <Row ss:AutoFitHeight="0">
        <Cell ss:StyleID="s62"><Data ss:Type="Number">237</Data></Cell>
        <Cell ss:StyleID="s62"><Data ss:Type="String">https://www.silver.ag/ru/silver-ring-zirconia-classic/</Data></Cell>
        <Cell ss:StyleID="s67"><Data ss:Type="Number">16.899999999999999</Data></Cell>
        <Cell ss:StyleID="s62"><Data ss:Type="String">жёлтый</Data></Cell>
       </Row>
      </Table>
      <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
       <PageSetup>
        <Header x:Margin="0.3"/>
        <Footer x:Margin="0.3"/>
        <PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
       </PageSetup>
       <Unsynced/>
       <Print>
        <ValidPrinterInfo/>
        <VerticalResolution>0</VerticalResolution>
        <NumberofCopies>0</NumberofCopies>
       </Print>
       <Selected/>
       <Panes>
        <Pane>
         <Number>3</Number>
         <ActiveCol>2</ActiveCol>
        </Pane>
       </Panes>
       <ProtectObjects>False</ProtectObjects>
       <ProtectScenarios>False</ProtectScenarios>
      </WorksheetOptions>
    </Worksheet>
    </Workbook>
    
    Как это: 16.899999999999999 привести к нормальному виду?
     
  9. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    283
    Симпатии:
    85
    Чем вы загружаете?
     
  10. KuEdA

    KuEdA

    Регистрация:
    20 сен 2014
    Сообщения:
    177
    Симпатии:
    34
    Загружаю я Автоматической обработкой прайс-листов 8.2. Но само преобразование происходит при конвертации csv в xml. Когда я открываю исходный csv в блокноте, там все правильно: 16,9. После конвертации его в exel, открываю в блокноте - 16.899999999999999. Пробовал конвертить посредство Libre Office, такая же фигня получается. Установил
    Total CSV Converter, он конвертит в xml правильно, но модуль автоматическая обработка прайс-листов их не читает. Ругается, что они сконверчены не из xls файлов.
     
  11. KuEdA

    KuEdA

    Регистрация:
    20 сен 2014
    Сообщения:
    177
    Симпатии:
    34
    Пока пришел только к такому решению. На стадии обработки файла csv с опциями товаров, поставил в начале каждой строки | и в конце каждой строки |, чтобы ...ый exel при конвертации csv в xml воспринимал одиночные значения, не как числовые, а как строковые:
    | 15 | 15,6 | 16 | 16,2 | 16,6 | 16,9 | 17,2 | 17,5 | 17,8 | 18,2 | 19,1 | 19,4 | 20 | 20,4 | 20,7 | 21 | 21,3 |
    | 16,9 |
    | 17,8 | 18,5 | 19,4 | 19,8 | 20 | 20,4 |
    |15,6 |
    | 15,3 | 15,6 | 16 | 16,2 | 16,6 | 16,9 | 17,5 | 17,8 | 18,2 | 18,5 | 18,8 | 19,1 | 19,8 | 20 | 21 | 21,3 | 22,3 |
    | 22,6 |
    Может быть есть еще какое-то решение этой проблемы, но, к сожалению, я его не нашел...