0 Пользователей и 1 Гость просматривают эту тему.
  • 242 Ответов
  • 24555 Просмотров
*

JanP

  • Moderator
  • 87
  • 7 / 0
Здравствуйте,

Хотел бы представить вам новый компонент для организации интернет-магазина на Joomla.

Phoca Cart - компонент электронной коммерции для Joomla! 3.8+. 
Продукт активно развивается, но для того, чтобы сделать его более стабильным в ближайшее время, требуется помощь Joomla сообщества. Будет замечательно, если вы поможете с тестированием Phoca Cart.

Приглашаю Вас  ознакомиться с возможностями Phoca Cart!

Как установить:
http://www.phoca.cz/documents/116-phoca-cart-component/807-installing-sample-data-demo-data-in-phoca-cart

Если вы нашли ошибку или вы просто хотите поделиться своим мнением - пожалуйста, воспользуйтесь Phoca форумом для этого.

Большое спасибо.

Jan

P.S. Прошу прощения за мой русский язык, я использую Google Translate.

Демо: http://www.phoca.cz/phocacartdemo/
Страница на J.E.D.: https://extensions.joomla.org/extension/phoca-cart/

« Последнее редактирование: 10.11.2018, 14:04:59 от Sulpher »
*

b2z

  • Глобальный модератор
  • 7187
  • 776 / 0
  • Разраблю понемногу
Цитировать
I don't know, if even is possible to change this feature by the component because SEF is managed by Joomla!
It is possible  ^-^ You can check for alias of item in the controller (before processing the view) and throw 404 if alias does not match. But this of course will bring extra queries to get item.

Here is the example of such function I made for our NorrCompetition component:

Код
public function processCompetition($model)
{
    $competitionId    = $this->input->getInt('id', 0);
    $competitionAlias = $this->input->getString('alias', '');

    try
    {
        $competition = $model->getCompetition($competitionId);

        if ($competition->id < 1
            || $competition->state == 0
            || (!empty($competitionAlias) && $competitionAlias != $competition->alias))
        {
            throw new Exception(
                JText::_($this->textPrefix . '_ERROR_COMPETITION_NOT_FOUND'), 404
            );
        }
    }
    catch (InvalidArgumentException $e)
    {
        throw new Exception(
            JText::_($this->textPrefix . '_ERROR_COMPETITION_NOT_FOUND'), 404
        );
    }
    catch (RuntimeException $e)
    {
        $this->setRedirect(
            JRoute::_(CompetitionHelperRoute::getCompetitionsRoute(), false)
        );
        $this->setMessage(
            JText::_($this->textPrefix . '_ERROR_OCCURRED'), 'error'
        );

        JLog::add($e->getMessage(), JLog::ERROR, $this->option);

        $this->redirect();
    }
}

Alias is set in the parse method of router and is available in input.
*

JanP

  • Moderator
  • 87
  • 7 / 0
b2z
Цитировать
It is possible ...

Thank you for the tip.

There are two types of view. Programmer view and business view.

Programmer view: there is no discussion as you should only get what you ask. If you ask something with wrong alias, you should get no data.

Business view: the question is now more complicated because in business, the "no items" or "we don't have this product", etc. does not exist. "No item found" means that customer goes to another shop.

So, what scenario is better?

REQUEST   -   PROGRAMMER ANSWER   -   BUSINESS ANSWER
skoda/2-rapid   -   Škoda Rapid   -   Škoda Rapid
skoda/2-radip   -   No items   -   Škoda Rapid
skoda/2-something   -   No items   -   Škoda Rapid

As programmer you answer in 2 cases with "no items", as businessman you offer in all cases a product - most probably, in 99% percent, you offer the right product. Of course it can happen that user get answer which he/she didn't expect (but when talking about all possible scenarios, this is really very tiny chance).

So the question is, be hard as programmer and don't return anything in case it will be correct or be a businessman and offer the right product. Be aware, we don't offer completely different product - if user asks for A, we don't offer B - this is not the case, we offer the most correct product we have - it is just correction of wrong alias or fake alias. In case user asks alias which really does not exist, then the answer is "no items".

:idea:

Jan
*

dmitry_stas

  • Легенда
  • 13152
  • 1232 / 8
So, what scenario is better?

only one more

Цитировать
REQUEST   -   PROGRAMMER ANSWER   -   PROGRAMMER CORRECT ANSWER   -   BUSINESS ANSWER
skoda/2-rapid   -   Škoda Rapid   -   Škoda Rapid   -   Škoda Rapid
skoda/2-radip   -   No items   -   301 redirect to skoda/2-rapid (or canonical)  -   Škoda Rapid
skoda/2-something   -   No items   -  301 redirect to skoda/2-rapid (or canonical)  -   Škoda Rapid

:)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

JanP

  • Moderator
  • 87
  • 7 / 0
*

voland

  • Moderator
  • 11031
  • 587 / 112
  • Эта строка съедает место на вашем мониторе
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Still no canonical and good SEF.
Use SEF Wizard =)
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

voland

  • Moderator
  • 11031
  • 587 / 112
  • Эта строка съедает место на вашем мониторе
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
А он умеет поправлять Фоку?
Да я сегодня проверил, редирект работает
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Sulpher

  • Moderator
  • 2058
  • 393 / 15
  • Шаблоны и расширения Joomla
Свежая статья на русском, перечисляющая возможности Phoca Cart.

Русская локализация никуда не годится. Ей занимался человек, допустивший множество ошибок, кроме того, множество неправильно переведённых значений, искажающих суть. Так что если кто-то пожелает локализовать Phoca Cart - лучше сделать это заново.
*

SeBun

  • Живу я здесь
  • 3996
  • 256 / 4
  • @SeBun48
Так что если кто-то пожелает локализовать Phoca Cart - лучше сделать это заново.
А если создать проект на Трансифексе?
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

Sulpher

  • Moderator
  • 2058
  • 393 / 15
  • Шаблоны и расширения Joomla
А если создать проект на Трансифексе?
Это будет лучшим решением. Есть неофициальный аккаунт: https://www.transifex.com/ep98/phoca-cart/
*

Sulpher

  • Moderator
  • 2058
  • 393 / 15
  • Шаблоны и расширения Joomla
Robokassa для Phoca Cart
Вышел плагин оплаты Robokassa для Phoca Cart с отправкой чека в соответствии с требованиями 54-ФЗ.

https://youtu.be/mmR879rOxGU

*

pvi1

  • Давно я тут
  • 566
  • 15 / 2
The disadvantage inherent in many of the same components (except Joomshopping) - no dependent attributes.
« Последнее редактирование: 29.10.2017, 18:45:08 от pvi1 »
*

Sulpher

  • Moderator
  • 2058
  • 393 / 15
  • Шаблоны и расширения Joomla
Компонент Phoca Cart опубликован в JED.
Просьба всем, кому понравился этот замечательный магазин, оставить положительный отзыв:
https://extensions.joomla.org/browse/new/extension/e-commerce/shopping-cart/phoca-cart/

Давайте поддержим разработчика и поможем с популяризацией Phoca Cart!
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
Компонент Phoca Cart опубликован в JED.
Просьба всем, кому понравился этот замечательный магазин, оставить положительный отзыв:
https://extensions.joomla.org/browse/new/extension/e-commerce/shopping-cart/phoca-cart/

Давайте поддержим разработчика и поможем с популяризацией Phoca Cart!
А где твой отзыв? Или магазин не понравился?))

От себя скажу: возможно это лучшее E-Commerce решение на данный момент!
Только вдумайтесь: можно создать товар с разными размерами и цветами (или, например покрытием). И с помощью этого сделать конструктор внутри одного товара.
Назначить индвидуальный остаток с собственным прайсом для майки ААА XL с золотом, или майки ААА M из хлопка (где майка ААА - это товар, а остальное его параметры).
Короче говоря магазин очень гибкий и функциональный.
А еще есть AJAX фильтрация по характеристикам из коробки!

Я призываю закрепить вообще тему с этим магазином в верху раздела. Этот компонент действительно заслуживает поддержки!
*

pvi1

  • Давно я тут
  • 566
  • 15 / 2

От себя скажу: возможно это лучшее E-Commerce решение на данный момент!
Только вдумайтесь: можно создать товар с разными размерами и цветами (или, например покрытием). И с помощью этого сделать конструктор внутри одного товара.
Да что Вы говорите! Эти вещи по умолчанию обязан иметь самый примитивный компонент интернет-магазина, которых уже десятки и этот не исключение. И именно такие магазины пригодны для продажи простых вещей типа носков и носовых платков. А сложные товары, имеющие зависимые атрибуты, этот магазин не потянет. А вот JoomShopping с этим справится. А фильтр AJAX в коробке еще ни о чем не говорит. При нынешней стоимости хороших интернет магазинов, выражающейся в десятках тысяч, и даже в некоторых случаях сотнях тысяч рублей, стоимость модуля AJAX фильтра в 3-5 тысяч руб - это ни о чем.
« Последнее редактирование: 18.11.2017, 04:55:35 от pvi1 »
*

JanP

  • Moderator
  • 87
  • 7 / 0
Hi,
what you exactly mean with:
Цитировать
The disadvantage inherent in many of the same components (except Joomshopping) - no dependent attributes.

There are different types of dependencies. Some are good to implement, some are used only by few e-shops so it is better to not confuse normal users and modify the feature only for specific e-shops, etc. :idea: From my experiences with other extensions, when you do a feature which is not used by 99% of users but only by 1%, you can make life of 99% users harder only because of the 1% of users. So when implementing some feature (the same happens for parameters) you need to be care of it.

But please let me know what you exactly mean, so I can take a look at it or add it to feature request list. Phoca Cart was built to be a base for extending the shop for different features so the development is not finished and it is always ready to adapt new features (even now Phoca Cart includes more specific features in core than it is usual by other eshop systems)

Regarding dependency and attributes - for now it exists the stock and price dependency of attributes which solves the combination of different product attributes. Typical example is a T-Shirt:



In Advanced Stock Management you can build the stock dependency for combination of each products, so for example, you can set that T-Shirt with Yellow color and XL Size is on stock with 10 pieces. Etc. And as always you need to find the best way how you handle your products (if based one product with attribute combination or based on more different products - T-Shirt with Yellow or Red color and XL Size can be one product with 2 attributes or can be two different products)



More info here:
https://www.phoca.cz/documents/116-phoca-cart-component/932-stock-management




And of course this feature is not closed, it can be extended in future.





==========
NEWS
==========

Phoca Cart version 3.0.1 has been released:
https://www.phoca.cz/news/960-phoca-cart-version-3-0-1-released



As always, I would be grateful for feedback.

Thanks, Jan


« Последнее редактирование: 19.11.2017, 15:13:30 от JanP »
*

pvi1

  • Давно я тут
  • 566
  • 15 / 2
To Jan.
In the attachment an example of the use of dependent attributes (I apologize for the grammatical errors in the title attributes).
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
Эти вещи по умолчанию обязан иметь самый примитивный компонент интернет-магазина, которых уже десятки и этот не исключение.
Должны. Вот только не имеют. Тот же JoomShopping (я до этого момента как раз им пользовался).
Не может в дефолте управлять различными остатками товара в зависимости от атрибутов.
Нет фильтра в пакете.
Нет одностраничного оформления заказа в пакете (кому сейчас надо 5 раз перезагружать корзину чтобы оформить заказ? -никому).
Нет возможности прикрепить цвет (опять же без доп.плагинов) для различного вида атрибутов.

As always, I would be grateful for feedback.

Thanks, Jan
Jan, Thank you for devoping a very nice e-commerce component.
I have some questions:

1. How I can create product parameters (characteristics)? For example: JoomShopping have 2 logic types - attributes and characteristics. When I used attributes - I can create product constructor (create a few sizes or colors etc.). When I used characteristics - I can create option list for product (matherial, season collection and other specific parameters which have't dependencies with price or stock). Your component just have one type so when I want separate logic (attributes and characteristic) - I can't do it...
So I should to create all params to attributes. For example:
I have t-shorts shop. I have colors, sizes, season collection. I want write to stock colors combination with sizes combinations but I don't want have many combinations sizes-seasons-colors (In real e-shop I have 10-15 attributes - so many stock variant is not cool..)

2. I have 3 storage. I can create attribute "storage" and add to custom variants
color:white storage:1 stock = 3;
color:white storage:2 stock = 5;
It's cool! But I want add different prices for different storages. I have't this features..

3. Attribute prices. I can't add some percent for product price to some attribute. For example:
Color:white +/- 50$ - it's ok.
But I want add pecent price:
Color:white +% / -% 5 = (price +/- % 5) - I can't do it..
*

pvi1

  • Давно я тут
  • 566
  • 15 / 2
Должны. Вот только не имеют. Тот же JoomShopping (я до этого момента как раз им пользовался).
Не может в дефолте управлять различными остатками товара в зависимости от атрибутов.
Нет фильтра в пакете.
Нет одностраничного оформления заказа в пакете (кому сейчас надо 5 раз перезагружать корзину чтобы оформить заказ? -никому).
Нет возможности прикрепить цвет (опять же без доп.плагинов) для различного вида атрибутов.


Вы внимательно читали, на что я давал ответ? Я давал ответ на это выражение:
"От себя скажу: возможно это лучшее E-Commerce решение на данный момент!
Только вдумайтесь: можно создать товар с разными размерами и цветами (или, например покрытием). И с помощью этого сделать конструктор внутри одного товара."
У JS все это есть и даже больше, в том числе и зависимые атрибуты, которых нет ни у кого, использующих Joomla.
Теперь на Ваши доводы:
управлять различными остатками товара в зависимости от атрибутов возможно, изучайте внимательнее JS.
фильтр в виде бесплатного модуля - пожалуйста (конечно не AJAX), но есть
В Phoga одностраничное оформление есть? Я не нашел. Подскажите, если есть.Да и не всегда одностраничное оформление заказа так удобно.
Прикрепить цвет легко - изучайте глубже JS.
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
фильтр в виде бесплатного модуля - пожалуйста (конечно не AJAX), но есть
а можно линк?
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
https://www.webdesigner-profi.de/joomla-webdesign/shop/modules/module-filter.html?lang=ru
Но там нет фильтра по атрибутам. Я уже не говорю про управления отображением с учетом остатков на складе (есть/нет)
*

pvi1

  • Давно я тут
  • 566
  • 15 / 2
А зачем фильтр по атрибутам?  По характеристикам вполне достаточно для обыкновенного, не претендующего на 100% удовлетворение во всем магазина. Вы должны понимать, что бесплатные движки интернет-магазинов просто так не создаются: они имеют базу для создания примитивного продукта и рассчитаны на то, что к ним будут делаться платные расширения для тех, кто хочет сделать полнокровный работающий магазин, приносящий деньги. И эти платные расширения хоть как-то компенсируют альтруизм создателей бесплатных компонентов. И каждый оценивает тот или иной продукт по тем запросам, которые есть у него. Нужен Вам фильтр по атрибутам с отображением с учетом остатков на складе (есть/нет)  - это не коробочный вариант. Далеко не всем он нужен. И стоимость магазина примитивного будет, конечно, дешевле, чем напичканного всякими опциями. А Вы что хотели - взять коробочный магазин бесплатно и продать его за 100 - 150 тыс, не приложив особых усилий, денежных затрат  и специальных знаний?
« Последнее редактирование: 21.11.2017, 15:48:21 от pvi1 »
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
Вы должны понимать, что бесплатные движки интернет-магазинов просто так не создаются: они имеют базу для создания примитивного продукта и рассчитаны на то, что к ним будут делаться платные расширения для тех, кто хочет сделать полнокровный работающий магазин, приносящий деньги
Да, я это понимаю.
А Вы что хотели - взять коробочный магазин бесплатно и продать его за 100 - 150 тыс, не приложив особых усилий, денежных затрат  и специальных знаний?
Не, ну было бы не плохо)) однако я сам не сторонник того, чтобы контент-менеджеры отбирали хлеб и программистов)
А вообще шутки шутками, но заказчик с годами хочет чтобы все было максимально из коробки с минимум допилов. Хотя сейчас речь не об этом.
Я лишь хотел сказать, что на мой взгляд - Phoca обладает многими крутыми вещами, которых нет в базе JS. А Вы пишите про то, что она не выдержит нагрузки при большом кол-ве товаров.
сложные товары, имеющие зависимые атрибуты, этот магазин не потянет. А вот JoomShopping с этим справится.
Вот именно тут хотелось бы увидеть пруфы. Я лишь хочу найти самое оптимальное решение для e-commerce. И пока что Phoca по некоторым вещам опережает JS, а в некоторых моментах требует разъяснения (о них я написал в вопросах к Яну).
Но производительность очень важный для меня критерий, т.к. я сейчас хотел взять phoca для магазина где будет ну может 20к товаров...
И если движок действительно это не потянет - то тут стоит задуматься...
*

pvi1

  • Давно я тут
  • 566
  • 15 / 2
Вот в том то и дело. Каждый решает для себя, что ему выбрать согласно его требованиям. И я против данного магазина не против -он мне тоже понравился. Но как говориться, поживем-увидим.
*

NeuroZ

  • Захожу иногда
  • 121
  • 0 / 0
  • Разработка сайтов и расширений под ключ
2Jan:
Do you have highload tests with more than 5k products?
*

JanP

  • Moderator
  • 87
  • 7 / 0
pvi1
So as I understand it correctly regarding the dependency:

The existing feature: switch price or stock based on combination of attributes
The non existing feature: display next attribute field based on selection on previous attribute fields

So in fact the component is partially ready for this (to save the dependencies the advanced stock view can be used - the dependency can be based on checkbox set in the list), the frontend area then should reload the attributes e.g. by AJAX :idea:

I have added it to feature request list.

*

JanP

  • Moderator
  • 87
  • 7 / 0
Do you have highload tests with more than 5k products?
I do tests when refactoring SQL queries, for now I have more outcomes (because of long history with tests in PhocaGallery and it always depends on many factors.

E.g. how the pagination is used. If you have 5000 products and you load 20 for the pagination, the everything is OK, the same with 100. But if you load 5000 at once this will be a problem.

The same is when you have e.g. 1000 products and 1000 categories and you load your category tree on module position. Then of course you can overload your database.

So in fact it is always hard to say something about performance when you don't know how the web designer will build the website. In some options, there is a warning, when used, that this can burden the database more than when not used. So this really depends on how the site is build.

And of course it is an e-shop extension. If your product had different dependencies: category, manufacturer, more images, more group prices, more attributes including more options, more specifications, more tags, etc. then you need to count with some pressure on performance on your server :idea:

As you can see in screenshot, SQL query in e-commerce is not really easy to do and the goal is to refactor the SQL many times as possible until you get better performance (so from 7 SQL queries any many foreaches in PHP you can build one with two subqueries which seems really scary but if it has better performance outcome it is great. Of course as written above, it always depends on many factors which of course cannot be all tested - different server, different build of website, etc. etc.)

Jan
« Последнее редактирование: 27.11.2017, 02:22:50 от JanP »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Цифровые товары на Phoca Cart 3

Автор lalalag

Ответов: 1
Просмотров: 871
Последний ответ 04.11.2018, 11:43:48
от JanP