We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 785
    • 2,113 Posts
    Quote from: Serg24 at Apr 26, 2008, 11:51 AM

    Но ведь поймите, что в данной корзине таблица используется исключительно по назначению - для предоставления табличных данных. Если Вы внимательно просмотрели исходники, то табличная верстка там используется для формирования таблицы корзины. Не вижу смысла для этого извращаться ДИВАМИ.
    В упор не вижу соответствия корзина=таблица. По этой логике Jot и Ditto тоже должны использовать табличную верстку. И в любом случае параметры ALIGN=RIGHT и теги <B> в JavaScript неуместны.
    Если не использовать табличную верстку, возможностей по оформлению больше, так что вместо того, чтобы «извращаться» с табличной версткой, лучше сделать все без извращений. Впрочем, я никому не навязываю свое мнение – нравится табличная верстка, используйте ее.
      Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
      Статьи о MODx, регулярно новые публикации
      • 24531
      • 213 Posts
      поставил, пришлось руками в utf-8 конвертировать. ща потестируем
        • 24531
        • 213 Posts
        аяксом к сожалению и правда не пахнет. предлагаю все оформление вынести в отдельные чанки, а то как-то некомильфо яваскрипт каждый раз патчить )
          • 26709
          • 4 Posts
          Quote from: AKots at Apr 26, 2008, 01:58 PM

          Quote from: Serg24 at Apr 26, 2008, 11:51 AM

          Но ведь поймите, что в данной корзине таблица используется исключительно по назначению - для предоставления табличных данных. Если Вы внимательно просмотрели исходники, то табличная верстка там используется для формирования таблицы корзины. Не вижу смысла для этого извращаться ДИВАМИ.
          В упор не вижу соответствия корзина=таблица. По этой логике Jot и Ditto тоже должны использовать табличную верстку. И в любом случае параметры ALIGN=RIGHT и теги <B> в JavaScript неуместны.
          Если не использовать табличную верстку, возможностей по оформлению больше, так что вместо того, чтобы «извращаться» с табличной версткой, лучше сделать все без извращений. Впрочем, я никому не навязываю свое мнение – нравится табличная верстка, используйте ее.


          Как в "С легким паром" сказали: ну какой же вы непонятливый  grin Я же уже говорил не раз:
          1) В сниппете табличная верстка служит только для формирования списка заказанных товаров. Там ничего кроме таблицы не используется. Дивы там не пойдут. Вот поставьте сниппет этот, а потом будем спорить. Выводить корзину удобнее всего именно с помощью таблицы: в каждой ячейке свое значение: ИД товара, НАЗВАНИЕ, СУММА и т.д. Или вы еще скажете, что для составления таблицы с 6 колонками и неизвестно сколько строк лучше ДИВЫ использовать? Не смешите smiley

          2) В самой корзине никакого оформления нету. Там чисто код, который не нуждается в оформлении, поэтому разговоры типа: "оформление внешнего вида корзины" здесь неуместны. Корзина вставляется в страницу сайта. Вот сайт и оформляйте ДИВАМИ (за это я обеими руками). Фактически сниппет - это "скелет". Кстати, если и надо преукрасить сниппет, то есть стилевой файл в архиве сниппета, пользуйтесь им.

          3) Да, иногда в сниппете используется табличная верстка и в другим местах. Да, там можно (и НУЖНО) переделать на ДИВЫ. Но поймите, я брал за основу уже ГОТОВЫЙ ява-код, и его разработчик, видимо, незнаком с версткой слоями. Так что в этом претензии не ко мне smiley Сам я уже несколько лет верстаю ТОЛЬКО дивами и отговорить от них меня никто не сможет smiley

          4) Также я писал ранее, что собираюсь вынести весь дизайн в шаблоны. ДА, СОБИРАЮСЬ!!!! Но в порядке очередности. Конечно, неудобно править в коде. Согласен. Но опять-таки не я писал код корзины, потому я тут не причем. Просто сейчас важнее привести корзину в нормальный вид, переписать и исправить кучу ошибок, которые допустил разработчик. ПОТОМ уже и шаблоны. Просто делаю я это на личном энтузиазме, потому и скорость соответсвующая. Сами понимаете smiley...

          5) По поводу аякса, ну поймите, дорогие, наличие его в сниппете не делает его автоматически более элитным и "крутым". И, наоборот, его отсутсвие не должно вызывать чувство, мол слабенький сниппет. Мы гонимся за универсальностью, удобством, простотой. А не за тем, какие мы крутые программисты. Это нам ненадо.  Вот зачем в сниппете аякс как таковой, если и без него прекрасно получается добавить товар в корзину, пересчитать поля, обработать данные (все без перезагрузки страницы) huh?????? Только для крутости????? Нет!!!!!! Я перебрал множество способов, как это сделать, хотел и традиционным аяксом реализовать, но зато путен утяжеления кода. Но зачем утяжелять код ради крутости, если ТО ЖЕ можно сделать БЕЗ аякса? В результате получаем компактный код и нету лишней мороки. А для конечного пользователя разницы НИКАКОЙ: аякс или не аякс. Ему нужно КУПИТЬ что-то на сайте, да чтоб удобно и быстро.

          В конец своих слов хочу сделать вывод: корзина и сайт делается НЕ для программистов, а для пользователей. Им нужен результат. Никогда ненужно нам этого забывать. И помните золотые слова: ХОРОШИЙ программист - это ЛЕНИВЫЙ программист.
          Т.е. пытающийся все упростить, сократить. Из двух вариантов: компактный, простой, удобный код или сложный, с разными наворотами Он выберет первый. Я не отговариваю от аякса, я просто хочу сказать, что не всегда он нужен, если точно такого же результат можно добиться и без него - более простыми и подручными методами.

          А пока продолжаю работу над корзиной, жду от вас предложений и замечаний.

          П.С. Кстати, забыл сказать еще по поводу аякса. Корзина-то написана на яваскрипте, и все операции происходят на стороне клиента. Здесь незачем обмениваться данными с сервером. Потому аякс как таковой НЕНУЖЕН. Данные загрузились в браузер, дитто подставил параметры в ява-функцию, при нажатии на ДОБАВИТЬ В КОРЗИНУ товар добавляется, пересчитываются поля - все на стороне сервера и без перезагрузки.
          Это никак не утяжеляет код. Наоборот, при выводе товаров с помощью дитто данные хоть так хоть иначе загрузятся в браузер. Мы просто подхватываем их и используем в своих целях. Нету обмена с сервером (это совершенно и ненужно в таком случае), время на обработку данных просто мизерное и с точки зрения безопасности это очень полезно. Так что ЗАЧЕМ здесь АЯКС ?
            • 24531
            • 213 Posts
            в аттаче utf8
              • 26709
              • 4 Posts
              Спасибо большое smiley
                • 785
                • 2,113 Posts
                Я не зря упомянул Jot – вывод похожий на таблицу, но табличная верстка не используется.
                А в корзине кто-то, может быть, захочет вывести, например, код выше названия, а все остальное левее. Это элементарно делается при помощи DIV, а при табличной верстке придется менять код JavaScript с ненулевой вероятностью внесения ошибок.

                Но это все мелочи, главное – корзина не работает. При попытке добавления в IE7 выдается ошибка «ADDITIONALINFO есть null или не является объектом», но работа продолжается, а в FireEox «thisForm has no properties» и ничего не выполняется. В Опере вроде бы работает. Убрав все упоминания о ADDITIONALINFO, можно добиться работы, но все равно неверной. При выполнении скрипта до «return false;» судя по всему не доходит, так что после добавления товара происходит переход на главную страницу сайта. При этом сообщение о добавлении мелькает, не задерживаясь, так что прочитать его сложно. В общем, нормально пользоваться невозможно. Кстати, содержимое корзины выводится криво, не помещаясь в отведенное место.

                Дополнительно могу сказать несколько замечаний:
                1. Вместо «В шаблон страницы, на которой будет выводиться список товаров, между тегами <head></head> втавьте строки:» проще вставить в нужной странице [!shop? &act=`none`!] и результат будет аналогичный, но не надо дополнительный шаблон вводить.
                2. Когда в nopcat.js и в сниппете жестко зашиты русские слова, наличие множества языковых файлов выглядит как-то глупо.
                3. Кнопку «Удалить» логично в том же стиле, что и остальные сделать, как и кнопки оформления заказа.
                4. При попытке оформления вылезает ошибка «fopen(assets/shop/orders.csv) [function.fopen]: failed to open stream: No such file or directory».
                5. Вылезающие сообщения на английском языке при неверном заполнении полей при оформлении заказа наводят на мысль, что с переводом все не слишком хорошо.

                Я думаю, не стоит спешить с выкладыванием очередной сырой версии, лучше потратить побольше времени, но получить более-менее работающий вариант.
                  Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                  Статьи о MODx, регулярно новые публикации
                  • 785
                  • 2,113 Posts
                  Кстати, мне кажется (могу и ошибаться), что лучше использовать innerHTML а не document.write для вывода, так как есть кое-какие тонкие моменты.
                    Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                    Статьи о MODx, регулярно новые публикации
                    • 26709
                    • 4 Posts
                    Спасибо за замечания. smiley Очень ценные. Внесу изменения. Дополнительн хотел спросить, в каких именно браузерах и каких версий эти глюки. Т.к. я тестировал на большинстве, ошибок небыло. Но версии могут быть разными. Потому подскажите. пож., какие у вас.

                    По поводу сырости версии, да, я согласен. просто я специально вылаживаю их, т.к. у меня нету времени тестировать все (много работы), потому надеюсь на помощь.

                    По поводу таблицы. Частично согласен, но я имел ввиду, что когда открывается корзина с товарами. там 6 столбцов. Неудобно их дивами делать. Если понадобиться добавить дополнительный столбец, опять морока. Да и сама таблица придумана для представления табличных данных. Вот и здесь она используется по прямому назначению. В остальных местах я ее постепенно уберу прочь smiley Тоже нелюблю табличную верстку. smiley

                      • 26709
                      • 4 Posts
                      Quote from: AKots at Apr 27, 2008, 12:53 PM

                      Кстати, мне кажется (могу и ошибаться), что лучше использовать innerHTML а не document.write для вывода, так как есть кое-какие тонкие моменты.

                      Согласен, но смотря где. В инфоблоке я так и сделал, но вот в некоторых местах было плохо. Где вы имеете ввиду?