ArgonShop plugin magazin

First of all I agree with this. @Argon You are in the right place at the right time - at the moment an eCommerce plugin is a hole that many people are looking to have filled in the ClassicPress ecosystem. So, one way or another, you will get a dedicated community of users for your plugin here!

I like the HTTP response cycle, you know, the one from 1991. You load a page, you do something, and that loads a new page. You can actually build entire complex applications without any JavaScript at all, and they can work really well, people seem to have forgotten this.

Anyway…

If you haven’t seen it yet, we are going to build our own plugin directory and release it with version 2 of ClassicPress. More details on our roadmap page.

For now, the best way is to host the plugin on GitHub and do your releases using the GitHub “Releases” section, this way you will be ready to host on our directory when it’s live. This unfortunately doesn’t cover updates yet, and I know @anon71687268 has been exploring how this can be done.

Part of version 2 will be splitting out some core features into core plugins. Which brings me to this:

I suggest that you start a petition for the specific idea of including Argon into ClassicPress core. However I will warn you that we are going the opposite direction at the moment - we are actually working on splitting some parts of the core into plugins. And a store plugin is something a lot of people have been asking for, but it is also important to keep in mind that not every ClassicPress site needs to be an online store.

So, probably the best way forward is to get more users for your plugin, and you are welcome to use our forums to help provide information and answer questions.

Then, there are a number of other paths we can consider for the future:

  • Recommend Argon as a “recommended plugin” in the dashboard. This will be based directly on our users’ input, much like our petitions process, although we don’t yet know the exact way we will determine which plugins to recommend.
  • Include Argon as an option for a “core plugin”. This would also need to go through a petition.

Finally, I hope I have written neutral English without too many native idioms or sayings. Your English is actually quite good, and very understandable :wink:

7 Likes

And I should add, @Argon, if you need anyone to test your plugin just ask here and I’m sure there will be some interested and helpful people. I’m certainly interested. :wink:

6 Likes

I’ve incorporated the functionality from the f(x) Updater plugin into my Plugin Directory* plugin to allow for updates before the official directory is available.

* Plugin Directory is a plugin that I’ve written to provide a nice interface for my users before the official directory is established; it’s not available for download, but, you can easily incorporate the f(x) Updater in your project.

5 Likes

[ozfiddler], [joyously], [norske], [ElisabettaCarrara], [james], [CodePotent]

Support and interest in the plugin motivates to continue working. Thank you!

Can we exchange Skype? My login sargonblack1

At the moment, I need to finish the plugin transition to php 7.3. Initially it supports php 5.6 - 7.0. After that and small adjustments to the plugin architecture +create a base for localization, and i can place the code on github for testing and demo

+I can give ftp or ssh access to the server on which I am developing.

Now I will write a short review of a number of functions, probably it will take time… I hope to be able to post links

1 Like

Yes, it’s good that I learned about this project

A little bit about the plugin and why it will require substantial and well-translated documentation.

A little bit about the plugin and why there was a need to develop it in the presence and availability of woocommerce.

Woocommerce is very loyal to the user without programming skills. Downloaded, launched and are working. In the admin panel a huge number of user friendly settings.

For a developer, this can create some difficulties. First - out of the box opens up a huge number of features that the store may not need and do not take into account when developing. This does not prevent the customer and the store administrator in the future to find these features and start experimenting with them.

This can cause unusual store behavior and create a lot of questions to the developer.

Secondly, there are classic American functions like checks for payment. And the address to which the payment will be made? For Russia it is quite strange, in our case payment is made either on delivery or online from the card.

These features need to be edited and removed from the store, here is the work with the plugin becomes much less convenient.

Third, if we need to implement an unusual design of the basket or personal account, with a complete rearrangement of elements. Or add a completely new unusual system of discounts, etc.

In the plugin I tried to make a huge amount of settings in the theme, expanding the capabilities of developers. In the admin panel at the same time the amount of settings is minimal and more technical. For example, we can create up to three different types of forms to be sent when ordering.

Fields in these forms are added through the admin panel in the following form:

telefonUser[Telefon,+7 (922) xxx-xx-xx,100]
addressUser[Address,Moscow region/comma/ DNP Iantar,100]

Decryption:

Unique key to store in the database x[

name field when displaying on the website,

placeholder,

the size of the field is assumed that the field will occupy either 50% of the page width, or 100%. At 50%, respectively, two fields can be placed in a line. This is expressed in the substitution of different classes in the output fields through a special function, with the possibility of further customization through css theme.

]

DEMO voitkoze.beget.tech … Forgive me moderator:)

For output in the site theme:

<? php 

In the array put the name of the fields that are required, they are automatically marked as required and additionally checked when sending by means of php.

    $required = Array("telefonUser","addressUser");

Get fields added through admin panel

    show_user_fields($user_ID, "quick", "div", "cartFields50","cartFields100","cartFieldsTitle","cartFieldInput", $required);  

show_user_fields this is function for API

Parameters

  1. ID user

  2. name form, in the admin panel, you can create several

  3. Во что оборачиваем каждое из выводимых полей

  4. Class for the fields marked 50

  5. Class for the fields marked 100

  6. Class for field title

  7. Class for field

    ? >

You can add fields with unusual behavior.
In more complex forms, it is the attachment of files, registration, etc. The handler can work with different fields.

<div class="cartFields100">
    
    <div class="cartFieldsTitle">Comment:</div>
    <textarea name="messageUser" placeholder="Your comment"></textarea>
    
</div>

class=“submitCart” adding this class to a button designates it as a form submit button. Accordingly, it triggers the sending event when you click on it.

<input value="SEND ORDER" type="submit" class="submitCart">

// FOR ERRORS
The error text will be added inside “span”. A child of the element with the class submitError

<div class="submitError"><span></span></div>

</ form >

Important point.

I am engaged in the development of sites to order, the plugin is largely an apologist for such work. If you have a store to transfer to Classipress/Argo Shop write, a commercial order will greatly speed up the work and help focus on adapting the plugin.

The more complex the store - the better.

1 Like

Also important. Will the plugin find demand, taking into account the features? It is mainly designed for the work of an experienced php/wordpress/jquery/css/html developer and non-standard solutions.

I apologize that I did not answer all messages, messages in English require a lot of time

Search.

In fact, it is a steroid add-on over the usual WP search, the standard search is used to form database queries. Completely different output mechanism in the theme, added a large number of settings, sorting results and AJAX.

Sorting is quite simple, though with the ability to expand it. The first results are displayed which 100% match the search string and so on.

How looks like the output of a search form

Function:

 as_search($searchParameters); 

Parameters:

 $searchParameters = Array(

Settings for normal output of search results on the page, get, with page reload.

Specify a custom post type

    	"post_type"   => Array('product'),

Taxonomy for the selected post type. And in what terms to look for. All = all.

    	'taxonomy'    => Array(
    		
                
    		"catalog"  => "all"
    			                
    	),

Different classes for more flexible styling via css

    	"classForm"   => "pageSearchForm",
    	"classInput"  => "pageSearchInput",
    	"classSubmit" => "pageSearchSubmit",
    	"valueSubmit" => "",

Settings output results via AJAX, without page refresh. That is, in the process of entering text into the search form.
“ajax” => Array (

    		"classBlockResult" => "pageSearchBlockResult",

Output a block with the results below the text input form. You can display above the form, if the search is located in the basement of the site.

    		"positionResult"   => "bottom",

Specify that this form is looking for products from the store catalog

    		'productResult'    => true,
    		"catalogResult"    => true,

Specify that advanced searching in the categories of conventional records with ID 36 and 37. Display the results with the title “Акции” with the class “resultEntry”

As a result, we get a separate block with the search for the selected categories. You can configure any number of such blocks.

    		"postResult"       => Array(        		
                              
                    Array(
                                        			                      
                        "name"         => "Акции",
                        "class"        => "resultEntry",
                        "category"     => Array(36,37) 
                        			                                      
                    )
                    			                                  
                )
		)     
    			            
    );

To your question if the plugin will suit ok in ClassicPress environment being more suited for devs, I think I can safely answer: yes.
This because ClassicPress is business-focused. Usually people who build sites generating some sort of business are either people who know what they are doing to a certain extent or developers hired to build the site for a company or individual wanting to profit from it.
The fact the plugin is developer friendly to me is a very important feature, it means it can grow as a stable solution suitable to be adapted to many applications.

2 Likes

Again, I hope people interested in the work of their stores on Classipress will visit the topic and we will be able to work together with them.

Hope so. Well, it will take a couple of months to prepare the plugin and I will be able to publish it. Perhaps during this time there will be people ready to join the work on the plugin. And we can exchange contacts.

I’m not against JavaScript, although I like php more. AJAX is convenient in many cases. Although in some places it is really too much, for example, always sad refusal of the standard division of directories into pages.

Over the years of using the Internet, my brain has adapted and learned to remember the way to the right information. By type, site.com/page/p=2 and second scroll-down:) Loading materials without dividing into pages eliminates such memorization.

Yes, probably after the improvements of the plugin this will need to be done.

The inclusion of the plugin in the kernel, it is certainly too ambitious, and not the fact that it makes sense.

Although… The plugin resembles a small framework running on WP and CP, with access to other plugins systems.

How commercial will the catalogue be, given the platform’s business orientation? Will it be possible to sell plugins? Or just charge for updates?

It seems to me that the ability to make fully commercial add-ons, is able to attract quite serious teams to work on plugins, it will be possible to calculate the business model from the implementation of the software.

Is this also to be decided through petitions?

Да, полностью согласен. Хотя коммерциализация плагина достаточно туманна, ключевое раскрутка конечно…

1 Like

There are topics about the directory in the forums. But yes, as far as I remember (someone correct me if I am mistaken here) commercial plugins will be included, the general idea is there is no harm in devs earning a living from selling plugins and themes.

2 Likes

That’s my recollection too.

Having said that, one of the issues I have personally with Woocommerce is that it can actually work out to be very expensive especially for new and/or small businesses. The core plugin only provides a certain amount of functionality before you need to buy a premium plugin for ‘x’, another for ‘y’, another for ‘z’ and so on. The last time I looked, there were over 80 extensions developed by Woocommerce themselves ranging in price from $0 to $249 a year (with no discount for renewals). That’s not a model that I would want to see adopted by CP.

4 Likes

Your opinion about the plugin is very interesting. As far as I understand we are colleagues and in fact - you are the target audience of the plugin.

1 Like

Happy to see a developer friendly alternative to WooCommerce!

As said by @1stepforward there are many times you have to deal with a lot of extensions. For me is not just a matter of price but installing 5 extension to get (in the case I’m thinking about) a catalog site is unacceptable.
Everything get slow and complex.

3 Likes

We are indeed colleagues and yes I am potentially part of your target audience so I’m looking forward to seeing this progress.

1 Like

@Simone Agree 100%.

That’s fine! I’ll work.

1 Like

There’s not really any way to know how “commercial” the plugin directory (catalog, as you called it) might be. My guess is that most developers (who make an actual living in open source) will release a free version and extend it with paid extensions. It’s a proven model. It’s likely that some plugins will stand out and other developers will even start building their own paid extensions for those plugins. If your plugin is focused on developers, it will most likely go down the same road as Woo – it will take several (or many) paid extensions to get the full functionality users need…and it will cost them. It has to be this way because, otherwise, the plugin will be bloated by trying to meet everyone’s needs.

There are costs to owning, running, and doing business; this is one of them. I get that it’s not easy for new/small businesses to pay for plugins, but, that’s not a good reason to give everything away for free. If I was a Chevy dealer and you showed up with a Kia budget, you’d leave empty-handed. If you wanted a Big Mac and only had enough money for a hamburger, you’d only get the hamburger – they’re not going to add even so much as a slice of cheese if it’s not in the budget. The point is: rather than lamenting the cost of doing business, those who are getting paid to implement sites should build these costs into their quotes and contracts.

Why is this unacceptable? The alternatives seem equally unacceptable:

  1. find a plugin that has all the functionality you need… which also contains all the functionality everyone else needs…and you have a bloated, sluggish plugin that nobody is happy with, or
  2. you just don’t get to use the functionality.

I’ll also note that “slow and complex” is a generalization. High quality plugins don’t tend to introduce these issues. Sites can run well more than 100 plugins without any performance issues…provided that they’re not using plugins that are poorly designed.

1 Like

For the initial version we will focus on free plugins, but I agree with you that allowing plugin sales is a good opportunity for us and for our users. It would provide a clear path for ClassicPress to sustain itself, and centralizing this function would also provide a lot of other benefits, like standardized updates and only one copy of any payment-related code on each site.

Yes. I will create this petition myself if needed, after version 2 is out. I think it is a good idea but we make all of the major decisions for ClassicPress based on the community’s needs, not our personal opinions.

1 Like

That’s not what I said @anon71687268. I don’t and never have expected anything for free. In fact, it was me that suggested some weeks back that a premium version of ClassicPress be considered.

What I did say is that the subscription model adopted by Woocommerce, where they have 70 to 80 plugins developed by themselves with no discount (or incentive) offered for annual renewals, is not something that goes down well with my customers. Hence the reason I always look elsewhere for WC plugins and as a consequence, WC ends up getting nothing. There’s a balance and I personally believe that WC have got it wrong.

Of course, I do always factor these costs into the original quote but instead of offering WC’s own plugins, I offer much more palatable 3rd party ones instead. It’s either that or lose the business. And as a small business myself (freelancer), I can’t afford for that to happen too often.

1 Like

I was talking about a specific site with particular needs. If WC was more developer friendly I could have written a plugin to handle this.
For slow I’m speaking of number of queries and complex becouse my customer has to go trought about 5 screens to add a new product.
I don’t want to say that those plugin are bad coded, I’m not feel myself able to judge, but some complex operations are unnecessairly repeated many times because of plugin overlapping.

Sorry for my english… and writing from a mobile doesn’t help :weary:

2 Likes