Перейти к содержанию
Форум поддержки пользователей VamShop

VamShop 2 - Новое поколение CMS для создания интернет-магазина


Рекомендуемые сообщения

Vladzimir

Так а я ничего и не обещаю.

Лишь говорю о будущем, что постепенно нужно переходить на более современный код.

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 899
  • Created
  • Последний ответ

Top Posters In This Topic

  • support

    611

  • vanina200988

    49

  • SeoWWW

    27

  • Adilan

    21

Top Posters In This Topic

Popular Posts

Вот смотрите еще: ярлыки в админке добавляются, но визуально на сайте не отображаются. Всмысле не отображаются картинки или текст о скидке или новинке

Перенос данных. Обновить нельзя, потому как это абсолютно разные движки.

Posted Images

кстати на тему смарти ссылко: http://bakery.cakephp.org/articles/view/the-cakephp-blog-tutorial-with-smarty

тоесть есть такая возможность... хотя я против его использования) вопрос ток в привычке... впринцыпе ничем оно не отличается...

Ссылка на сообщение
Поделиться на другие сайты
  • 4 weeks later...

На странице проекта - http://code.google.com/p/vamshop/

Можно уже выкачать первую вполне рабочую версию VaM Shop 2 на CakePHP.

Пока что только через svn можно выкачать.

Например переписываете в папку /localhost/vamshop код и открываете в браузере, запустится установка.

Нужно будет лишь указать доступ к базе и всё.

В целом всё, что есть, всё уже работает: админка, оформление заказа.

Нет пока отправки почты.

Зато можно посмотреть на локализацию, как сделана, через gettext, т.е. при добавлении нового языка не будет не понятных констант, а будет просто английский текст.

Шаблоны страниц находятся в /app/views/

Стили в /app/webroot/css/

php код в /app/controllers/

Связь с базой в /app/models/

Перевод в /app/locale/

Немного скриншотов:

post-1-1304838304,5869_thumb.png

post-1-1304838304,8412_thumb.png

post-1-1304838305,0909_thumb.png

Ссылка на сообщение
Поделиться на другие сайты

Добавлено переключение языка содержимого каталога, содержимого и интерфейса админки.

Используется текущая версия CakePHP 1.2.3 вместо 1.2.0.

Мультиязычность интерфейса сделана через gettext.

Файл перевода на русский например в /app/locale/rus/

Что б сделать свой перевод, просто создаёте папку /app/locale/ukr (к примеру) с такой же структурой как в rus папке и переводите файл default.po.

Мультиязычность данных в админке сделана по аналогии с osCommerce, т.е. создаётся запись с ключом language_id.

Языки создаются в Админке - Локализация - Языки.

Ссылка на сообщение
Поделиться на другие сайты

Используемая по умолчанию в CakePHP для ajax и прочих нужд библиотека Scriptaculous заменена на jQuery, на мой вкус jQuery удобнее, понятнее и популярнее, что также важно.

Ссылка на сообщение
Поделиться на другие сайты
  • 4 weeks later...

Переписаны модули доставки, оплаты, управление модулями доставки, оплаты в админке.

Добавлена возможность лёгкой установки модулей доставки, оплаты, по аналогии с osCommerce.

Смотрятся файлы в /app/plugins/payment/controllers и на основе файлов строится список модулей.

Ссылка на сообщение
Поделиться на другие сайты

В VaM Shop 2.x уже на данный момент решены многие проблемы VaM Shop 1.x, которые в 1 версии сложно решить из-за структуры кода.

Например:

1. Метки шаблонов, которые можно использовать только, к примеру, в index.html. В VaM Shop 2.x все метки общие и любая метка может использоваться в любом шаблоне, иногда довольно удобно иметь такие общие метки.

2. Кэширование, по умолчанию, есть разные варианты кэширования, как просто сохранение в файл, так и apc, memcache и т.д.

3. Префиксы таблиц, тоже кому-то нужно было, помню писали.

4. SEO URL, аналогичные VaM Shop 1.x, только не нужно в конце прописывать .html. Что будет подставляться в качестве расширения (.html или ещё что), настраивается в Админке - Настройки - Магазин - Расширение URL.

5. SEO URL генерируются автоматом, т.е. не обязательно писать "ручной" url, если он не записан, будет создан автоматически по названию товара.

6. Тоже как-то писали сделать две кнопки при создании в адмнике товара, категории - Продолжить и Сохранить, что б можно было либо сохранить данные и остаться на странице редактирования товара, либо нажать продолжить, после чего сохранятся данные и вернётесь к списку товара.

7. Вот тут как плюс так и минус, работа с файлами через ftp клиент сведена к минимуму, практически всё делается через админку и хранится в базе, т.е. шаблоны, стили и прочее, не нужно вечно гонять файлы туда-сюда по ftp, если нужно что-то поменять, что-то дописать. Всё через админку. Например вот многие писали в описании товара жаль нельзя использовать исполняемый код, т.е. например в описание вставить вывод какого-то кода, модуля, а только html можно вставлять. В VaM Shop 2.x можно использовать расширения smarty, т.е. смарти метки, а это вобщем-то тоже позволяет всё что угодно вставлять в тоже описание товара. Это конечно и плюс и минус, но я всё-таки считаю, что всё-таки больше плюс.

8. Простое оформление заказа, сейчас вообще можно ни одного поля не заполнять при оформлении заказа, не нужно регистрироваться что б оформить заказ, не нужно помнить свой пароль, не нужно входить в магазин со своим паролем, это конечно и плюс и минус, но всё-таки заказ можно оформить легко, не прыгая по многим страницам. Можно вообще любые поля убрать на странице оформления заказа в /app/vendows/smarty/vam_plugins/function.checkout.php

9. "Правильная" локализация (т.е. мультиязычность интерфейса), используя gettext, т.е. не будет такого как в VaM Shop 1.x, что со временем перевод на другой язык устаревает, его нужно обновять, иначе работать не будет. Во второй версии любой перевод будет работать вне зависимости от срока давности, пусть даже не переведён текст, тогда будет просто текст на английском если нет перевод на текущий язык.

10. Расширяемость функционала, намного проще добавлять новый функционал, не нужно править php файлы, достаточно добавить новые файлы и ещё может в шаблон нужной страницы вставить новую метку.

11. Например, то же меню в админке, в VaM Shop 1.x, что б добавить пункт в меню, нужно править php код, в VaM Shop 2.x всё автоматически, новый пункт меню создаётся автоматически в зависимости от настроек модуля (plugin'а) и подключается автоматически в меню. Также и удаляется этот пункт меню без правки кода, удаляете модуль - удаляется пункт и из меню.

12. Ну и вообще всё приложение объектно-ориентированное, т.е. построено исключительно на классах.

13. Используется MVC архитектура, т.е. разделение данных (Model), оформления (View) и управляемого кода (Controller).

14. Новое универсальное понятие - контент (типы материала, типы содержимого, если угодно). т.е. это может быть и категория, и товар, и информационная страница, и виртуальный товар, либо статья, новость и т.д. Отличие одного типа материала от другого лишь в наборе полей, признаков. Например у категории: название категории, описание, у товара: название товара, описание, цена, вес и т.д., у виртуального товара: название, описание, цена файл и т.д., т.е. такой унифицированный элемент, оличается лишь набором полей. Всё управление содержимым в Админке - Содержание.

15. Развита идея шаблонов для каждого элемента, в VaM Shop 1.x есть ограничения, т.е. не всегда можно любой элемент (категория, товары, новость, информационная страница) сделать по внешнему виду отличным от других, в VaM Shop 2.x при создании любого элемента есть опция - Шаблон, т.е. любой элемент может иметь любое отображение, настроенное в Админке - Оформление - Шаблоны, а к любому шаблону можно написать любой стиль (css код) в Админке - Оформление - Стили, затем стиль прицепить к шаблону.

16. С SQL запросами вообще не нужно напрямую работать (а это опять же избавляет от ошибок в написании SQL запросов, от необходимости проверок SQL запросов на ошибки, правильно будет работать или нет, всё это отдаётся на откуп CakePHP, Вы лишь работаете со своими данными в виде массивов, а SQL код рисует CakePHP), связи между таблицами, зависимости, например категория-товар, всё это описывается в модели данных (model), т.е. создаётся модель для товара и модель для категории, описывается, каким образом связаны будут между собой эти две модели и затем уже просто работаете с массивами, всё очень удобно, т.е. главное один раз настроить модель, а дальше уже можно легко и просто использовать данные из таблиц.

17. Отладчики, гораздо легче найти ошибку в коде.

18. Тестирование, тоже довольно интересная вещь, можно автоматизировать процесс тестирования, например правильно ли работает корзина, добавляется ли товар в корзину, для этого можно написать тесты (test case) и в автоматическом режиме проверять, как всё работает, просто запуская тесты и просматривая результаты тестирования, опять же, сэкономит кучу времени на поиске, исправлении ошибок, если тестами охватить основной функционал магазина, т.е. можно контролировать качество кода в матоматическом режиме, не тратя на это ресурсы, в смысле человеческие, временные и т.д.

19. Стандартизация и соглашения, CakePHP придерживается определённых стандартов кода, соглашений при наименовании контроллеров и т.д., тоже очень важный момент, на мой взгляд, особенно на примере osCommerce.

Да и вообще, на мой взгляд, что в VaM Shop 1.x делается долгим, нудным ковырянием в многих php файлах, правкой sql запросов, в VaM Shop 2.x (на основе CakePHP) правится парой строк, обычно достаточно просто поправить шаблон (view), никакого php кода, sql кода править не нужно.

Ссылка на сообщение
Поделиться на другие сайты

круто.. вот бы демку рабочую))) плюс портировать со старого вамшопа на новый...

то есть получается уже есть рабочий вариант-который можно использовать?

Ссылка на сообщение
Поделиться на другие сайты

geval

Так ведь до функционала текущей версии VaM Shop ещё новому коду очень и очень далеко.

Сейчас практически ничего нет.

Всего лишь категории + товары + информационные страницы + корзина + оформление.

Всё, больше ничего пока нет, даже отправки почты пока нет.

Нет ни новостей, ни статей, ни скидок (никаких), ни групп покупателей, ни разграничения доступа, ни импорта/экспорта, ни отчётов, практически ничего нет, что есть сейчас в VaM Shop.

Это лишь скелет для будущей версии, т.е. наверное ещё не меньше года будет наращиваться функционал второй версии, что б был аналог первой версии по функционалу, но на другом движке, на CakePHP, вот как функционал догонит первую версию, тогда только будет переход к новому движку.

А это очень и очень долго ещё.

Попробовать можно хоть сейчас, если лень выкачивать из svn, я вобщем-то могу выложить файлы в виде архива, просто распаковать нужно будет файлы и запустить в браузере, например localhost/vamshop

Если хотите, выложу архив со скриптами.

Но говорю сразу, ничего особо интересного нет пока.

Можно конечно сделать попробовать уже на второй версии магазин, но только если магзаин очень и очень простой, т.е. вывод категорий, товаров, да корзина с оформлением и всё.

Ссылка на сообщение
Поделиться на другие сайты

Работает, с выбором доставки, оплаты (оформление такое же как через быстрое оформление в VaM Shop, т.е. как страница checkout_alternative.php, только можно ничего не заполнять, т.е. все поля необязательны для заполнения, либо вообще удалить ненужные поля, пока что в /app/vendors/smarty/vam_plugins/function.checkout.php, потом скорей всего перенесу в Админку - Содержание - Страницы, что б из админки править можно было).

Могу выложить архив, если есть желание попробовать.

Ссылка на сообщение
Поделиться на другие сайты

Вобщем, вот архив - http://vamhost.ru/vamshop2-alpha.tar.bz2

Весит 0.8Mb

Переписываете файлы в папку какую-нибудь, если под денвером, то например в папку vamshop в домене localhost и открываете в браузере http://localhost/vamshop

Должна установка запуститься, там нужно только доступ к базе указать и всё.

Язык переключается в каталоге, справа, в боксе Язык.

т.е. если нужна админка на русском, сначала переключаетесь на русский и затем переходите в админку http://localhost/vamshop/admin

Логин: admin

Пароль: password

Ссылка на сообщение
Поделиться на другие сайты

начал тож недавно смотреть пхп фреймворки, сам остановился на zf =)

интересно почему именно cakePHP?0о

сделано уже немало заметно) хоть и демку не ставил)

сам тольк знакомлюсь с ооп, mvc... так первые замечания(?) и мысли после прочтения нескольких статей о ооп и архитектуре mvc модель должна инкапсулировать данные а в коде все модели содержат только их имя и "отношения", контроллеры не должны выполнять роботу с данными

из какой то статьи: "хороший контроллер - пустой контроллер" =)

модель должна выполнять все манипуляции с данными а не контроллер, он должен прост "сообщать" модели как эти данные изменять и т.д...

upd: это относительно cakephp а не конкретно проекта вамшоп2...

upd2: http://zendframework.ru/anonses/model-with-mvc

это прост мое понимание mvc мб оно пока и не оч правильное =)

тут даж ненад спорить это "большой шаг" в развитии вамшоп... но не хотелось бы что б вамшоп2 был просто переделаным вамшоп1 на ооп код...

желаю тольк удачи в развитии проэкта...

п.с. как всегда имхо :)

Ссылка на сообщение
Поделиться на другие сайты

Так а что плохого в "передылвании" функционала на CakePHP, как раз можно взять всё самое лучшее, оставив все проблемные места в старом коде, а в новом их исправить.

А почему контроллеры не должны выполнять выполнять работы с данными?!

Как раз они для этого и созданы, в контроллере должен быть управляемый код.

Как раз они и должны сохранять данные, вносить изменения и прочее.

Например ты хочешь добавить запись в таблицу какую-то, где ты будешь сохранять эти данные?!

По-моему, как раз в контроллере.

В модели описывается сама таблица, т.е. откуда берутся данные и куда записываются, как эта таблица связана с другими, в шаблоне (view) ывводятся эти данные, либо например выводится форма для добавления.

В CakePHP именно так, да и это логично, вроде как.

В модели разве что прописываются проверки, т.е. если форма какая, то в модели записывается код для проверки полей формы, что и как заполнять.

ZF лично на мой вкус какой-то слишком тяжёлый, хотя и самый популярный.

А если говорить вобщем, то ведь все современные framework'и по сути одинаковые сейчас, разница лишь в деталях, но всё равно, мне ZF кажется слишкмо большим и тормознутым, опять же можно посмотреть на magento commerce тот же самый, просто супер тормоз.

А CakePHP лично мне понравился, что занимает не так много места, да и работает вроде довольно шустро, ну и вообще понравилась документация book.cakephp.org, где всё описано понятно и просто.

Ссылка на сообщение
Поделиться на другие сайты

модель = данные

контроллер обрабатывает запрос пользователя изменяет модель которая изменяет свое состояние, даж не так: контроллер посредством модели изменяет данные) тоесть вся логика добавления в бд к примеру находится в модели

кнтр посредством модели изменил данные (и изменяет вид?)

это в моем понимании)

кинул бы ссылку на статью но потерял ссылку)

Так а что плохого в "передылвании" функционала на CakePHP.

функционал у всех движках магазинов мб одинаковый главное реализация... я об этом )

ZF лично на мой вкус какой-то слишком тяжёлый, хотя и самый популярный.

для меня + уже в том что его поддерживают разработчики пхп... "тяжёлый" в плане производительности или изучения?

мне ZF кажется слишком большим и тормознутым, опять же можно посмотреть на magento commerce тот же самый, просто супер тормоз

все зависит от разработчиков думаю) гдет был пример сайта с 100к посетителей сделан на zf...

просто сама архитектура приложения в zf мне нравится больше, а cake просто как каркас чтобы чтот "слепить" а не разработать...

тут вопрос вкуса мнения разные и их только два)

>В модели описывается сама таблица, т.е. откуда берутся данные

в зенде тож модель это в основном таблица бд но модель работает с базой а не контроллер

Ссылка на сообщение
Поделиться на другие сайты
  • 2 weeks later...

Исправлена проблема с загрузкой картинок товара в админке.

Была небольшая проблема с SWFUpload, теперь во всех браузерах должны картинки нормально загружаться, без ошибок.

Ссылка на сообщение
Поделиться на другие сайты

Добавлена возможность указания мета-тэгов для содержимого:

http://code.google.com/p/vamshop/source/detail?r=402

http://code.google.com/p/vamshop/source/detail?r=403

http://code.google.com/p/vamshop/source/detail?r=404

http://code.google.com/p/vamshop/source/detail?r=405

http://code.google.com/p/vamshop/source/detail?r=406

http://code.google.com/p/vamshop/source/detail?r=407

http://code.google.com/p/vamshop/source/detail?r=408

На этом примере можно как раз посмотреть как можно писать самые простые расширения для VaM Shop 2.

Всё делается через смарти расширения, если нужно что-то изменить в каталоге.

Затем просто вставляется новая метка в шаблон.

В данном случае, что б добавить мета-тэги сделано было следующее:

1. В базу данных добавлены 3 колонки (meta_title, meta_description, meta_keywords) в таблицу content_descriptions.

2. Поправлен шаблон создания содержимого в админке - /app/views/themed/vamshop/contents/admin_edit.ctp, добавлен вывод новых полей, что б их можно было заполнять при создании, редактировании содержимого.

3. Добавлены новые смарти метки meta_description и meta_keywords, расширения для смарти в /app/vendors/smarty/plugins/vam/function.meta_description.php и function.meta_keywords.php. Метки просто выводят содержимое колонок из базы данных.

4. В шаблон (Layout) в Админке - Оформление - Шаблоны добавлены две новые метки {meta_description} и {meta_keywords}.

На мой вкус, делается всё быстро и просто, практически даже не нужно писать php код никакой.

И тем более не правятся никакие файлы для подключения новых файлов, опять же, если решили расширить функционал подобным способом, то при выхоже обновления для магазина, сделанные Ваши изменения не будут затронуты патчами, всё останется на месте при таком подходе.

Ни в какое сравнение с osCommerce не идёт, что б добавить пару колонок в таблицу в osCommerce и вывести их, нужно наверное разва в 3 больше времени потратить.

Ссылка на сообщение
Поделиться на другие сайты

а толку от этих анонсов.

когда будет чтото, что уже можно будет использовать.

тогда и опишешь все различия в функционале с 1.* версией.

Ссылка на сообщение
Поделиться на другие сайты

почему нет толк?..

так видно развитие проекта... мне хоть кейк и не оч нравится но за самим созданием развитием чего то интересно смотреть ;/

Ссылка на сообщение
Поделиться на другие сайты

В модули оплаты (/plugins/payment/) добавлен метод after_process, а так же в настройки модулей оплаты добавлен выбор статуса заказа.

Что б можно было менять статус заказа при использовании например "моментальных" модулей оплаты типа WebMoney.

В контроллер /app/controllers/orders_controller.php, добавлен вывод after_process метода модуля оплаты.

Ссылка на сообщение
Поделиться на другие сайты

Добавлена в шаблон новая метка headdata.

Выводит любую заданную информацию в head секцию сайта.

К примеру, можно в содержимое (категории, товары и т.д.), в поле Заголовок можно добавлять:


<meta name="robots" content="nofollow" />
[/code]

т.е. можно конкретному содержимому добавлять nofollow, либо любые другие тэги в head раздел.

Ссылка на сообщение
Поделиться на другие сайты

Добавлена возможность смены стандартного оформления тэгов через микро-шаблоны.

По умолчанию, оформление тэга (какой-либо части магазина, например страница оформления заказа, т.к. всё через тэги выводится, например {checkout}) хранится в файле, в данном примере в /app/vendors/smarty/plugins_vam/fucntion.checkout.php.

Сделана возможность использования своих шаблонов (свой html-код) для любого тэга, не исправляя никакие файлы.

Как это делается:

Например, не нравится стандартный вид страницы оформления заказа и мы хотим поменять его.

Что мы делаем:

1. Заходим в Админку - Расширения - Тэги.

2. Заходим в тэг checkout - это как раз содержимое страницы оформления заказа.

3. Внизу нажимаем создать микро-шаблон.

4. В поле псевдоним пишем например moi-shablon, сохраняем.

5. У нас появился новый микро-шаблон в Админке - Оформление - Микро-шаблоны, именно там можно менять внешний вид.

6. Теперь нам нужно указать скрипту, что б оформление для страницы checkout бралось из микро-шаблона, а не из файла. Как это сделать в принципе написано в подсказе к тэгу checkout, но конечно не всегда понятно, если первый раз с магазином работаешь.

7. Так вот, нужно просто указать параметр template в выводе тэга checkout.

8. Для этого в Админке - Содержание - Страницы редактируем страницу Оформление и меняем:


{checkout}
[/code] на:
[code]
{checkout template='moi-shablon'}

т.е. в параметре template указываем псевдоним микро-шаблона, который мы хотим использовать для отрисовки страницы оформления.

Всё. Теперь страница будет рисовать микро-шаблоном.

Точно так же можно делать с любым тэгом, который выводит какой-либо html-код. В Админке - Расширения - Тэги это видно при просмотре тэга, если есть кнопка создать микро-шаблон, значит можно менять внешний вид данного тэга.

Какие плюс в таком подходе, лично я считаю, что следующие:

1. Меняется стандартный оформление (внешний вид) практически любого элемента магазина без ковыряния в php коде.

2. Без ковыряния вообще в каких-либо файлах.

3. Всё через админку, т.е. не нужно подключаться на ftp, править файлы и прочее.

4. Не затрагиваются оригинальные файлы, т.е. чтобы поменять внешний вид, мы вообще файлы не трогаем.

5. А это важно, если предположить, что магазин будет обновляться, будут выходить патчи, пользователем будут производиться различные свои доработки магазина.

6. При таком подхоже все Ваши изменения, внесённые в магазин, не похерятся патчами и сохранятся.

Ссылка на сообщение
Поделиться на другие сайты

Ну и хочется сказать, что всё, что выводится в каталоге - кэшируется (по умолчанию в файлы, но в /app/config/core.php можно настраивать любые варианты хранения кэша).

Так что если сразу после правок Ваши изменения не видны, скорей всего, это кэш.

В Админке - Настройки - Магазин - Кэширование нажмите кнопку Очистить кэш-файлы.

Ссылка на сообщение
Поделиться на другие сайты
  • 4 weeks later...

Попробовал кэширование apc на примере CakePHP + VaM Shop 2.

Неплохо получается, работает в два раза быстрее, в сравнении с обычным кэшем.

VaM Shop 2 с обычным кэшем чуть медленнее VaM Shop 1.x.

VaM Shop 2 с кэшем apc быстрее VaM Shop 1.x почти в два раза.

Ссылка на сообщение
Поделиться на другие сайты
  • 3 weeks later...

1. Добавлен PHPMailer для отправки почты из магазина.

2. Добавлен компонент email для работы с почтой через PHPMailer.

3. Добавлена отправка писем из магазина при оформлении заказа в каталоге и при смене статуса заказа в админке.

4. Добавлены шаблоны писем в Админке - Настройки - Шаблоны писем.

На данный момент можно сказать, что магазин уже вполне работоспособный и подходит для создания небольших магазинов, т.е. весь основной функционал магазина (корзина, оформление, почта, заказы) всё это уже сделано и работает.

Ссылка на сообщение
Поделиться на другие сайты
  • support locked this тема
Гость
Эта тема закрыта для публикации ответов.

×
×
  • Создать...