Feature requests: Multiple photos and Rich Text

Permalink Browser Info Environment
Just some first impression ideas below from me while I've been using this add-on in the last week;

1. Multiple photos per product:
Add-on allows only one photo per product, be great to allow for more photos to be added, similar to how Ebay displays photos.

2. Rich text Product Description:
Currently the product description text seems to be plain text with no formatting. Would prefer this to be at least Rich text so I can use features like bold text or line returns etc.

Keep up the good work,
Anthony

Type: Discussion
Status: Resolved
stuntman
View Replies:
mesuva replied on at Permalink Reply
mesuva
Hey, thanks for this feedback, much appreciated.

Both these things I did consider in the development, let me explain my thinking to why I didn't include either with the block;

1 - My thinking was that because it's block based, the solution to adding additional images is to use the various image and gallery blocks that are available. You'd basically just add such underneath or use the layout tool to put them in however you needed. Ultimately this gives much more flexibility than me making an assumption as how they are to look, what sizes, etc. Some people might want lightboxes, or grids of images, or slideshows, or want to resize the images to certain ratios - that's a whole new bunch of considerations I think is better handled by dedicated blocks.

The same goes for things like videos, product brochure downloads, etc. The product block is perhaps more accurately a 'product _button_ block', in that its primary purpose is being able to output the add to cart button (which has the special stuff on it for Snipcart). The rest of the output is there (since it's entered anyway) as a convenience.

I made the block have options so you can basically turn of all the content and _just_ show the button, meaning you've got complete control over the content around it, as opposed to having to learn how to modify custom block templates.

2 - The product description field's primary purpose is to add a description that can be displayed in the cart, and this has to be plain text - think of it a bit like the meta description field on pages. But then for rich text on the page, the same approach would apply as per the images - you would then use a normal content block on the page however you needed.

I ultimately wanted to keep the product block as lean and simple as possible (it's pretty complex as it it), to be able to make as few assumptions as possible as to how it's output would look - perhaps at the expense of some automatic features you might see in larger shops. The add-on is really intended for medium to small shops, where you might have quite customised product pages, instead of for larger shops where you have many products that all need to be quickly entered. In the latter case, some more complex shop system is perhaps the way to go.
stuntman replied on at Permalink Reply
stuntman
Yeah, that makes perfect sense to me, thanks for the detailed explanation, I really appreciate it.

I suppose I'm just getting used to how your cart works differently to the other carts I've worked with. Like you said, its more versitile this way.

So is this how you achieved the rollover product image on your Live Demo page? By simply adding an Image block instead of adding an image to your block?

Cheers.
mesuva replied on at Permalink Reply
mesuva
Yeah, it is pretty different compared to other shops - I took a bit of a risk going the 'all block' approach. It arguably goes against best practice when it comes to managing data like this, but due to the way Snipcart works it's actually a really good fit.

Again it's not going to work for every kind of setup and shop, but for smaller shops it certainly makes things pretty streamlined, no going back and forth between a dashboard page and the front end.

With the site I've linked as a demo (which gets lots of orders by the way), the rollover effect is simply a CSS style I've applied - just a quick change in opacity of the image on the rollover, it's not swapping out the image for another.
stuntman replied on at Permalink Reply
stuntman
I bet it gets a lot of orders, I think I've ordered a years supply Rustic Beauty! Just haven't pressed the Pay button :)

Excuse my CSS ignorance, used up all my brain power on the changes to 5.7! But don't suppose you have a copy of that rollover CSS code and where I should add it?

Thanks.
mesuva replied on at Permalink Reply
mesuva
Something like this added to your theme should do it:

.snipcart-product a:hover img { 
  opacity: 0.8; 
}
mesuva replied on at Permalink Reply
mesuva
Oh and you asked where can you add it.. you can either use the 'Customise Theme' option (where you change colours, etc) and put it in the custom CSS there.

Or if you've built your own theme just chuck that on the bottom of your CSS.
stuntman replied on at Permalink Reply
stuntman
Fantastic, works a treat :)

Thank you very much.

concrete5 Environment Information

# concrete5 Version
Core Version - 5.7.4.2
Version Installed - 5.7.4.2
Database Version - 20150504000000

# concrete5 Packages
eCommerce with Snipcart (1.1.8), Long Story Short (1.0), Thumb Gallery (1.0.3), Tweet Feed Block Components (0.9.11).

# concrete5 Overrides
languages/ja_JP/LC_MESSAGES/messages.mo, languages/ja_JP/LC_MESSAGES, languages/ja_JP, languages/fr_FR/LC_MESSAGES/messages.mo, languages/fr_FR/LC_MESSAGES, languages/fr_FR, languages/de_DE/LC_MESSAGES/messages.mo, languages/de_DE/LC_MESSAGES, languages/de_DE, languages/sv_SE/LC_MESSAGES/messages.mo, languages/sv_SE/LC_MESSAGES, languages/sv_SE, languages/el_GR/LC_MESSAGES/messages.mo, languages/el_GR/LC_MESSAGES, languages/el_GR, languages/sl_SI/LC_MESSAGES/messages.mo, languages/sl_SI/LC_MESSAGES, languages/sl_SI, languages/ru_RU/LC_MESSAGES/messages.mo, languages/ru_RU/LC_MESSAGES, languages/ru_RU, languages/tr_TR/LC_MESSAGES/messages.mo, languages/tr_TR/LC_MESSAGES, languages/tr_TR, languages/da_DK/LC_MESSAGES/messages.mo, languages/da_DK/LC_MESSAGES, languages/da_DK, languages/fi_FI/LC_MESSAGES/messages.mo, languages/fi_FI/LC_MESSAGES, languages/fi_FI, languages/it_IT/LC_MESSAGES/messages.mo, languages/it_IT/LC_MESSAGES, languages/it_IT, languages/nl_NL/LC_MESSAGES/messages.mo, languages/nl_NL/LC_MESSAGES, languages/nl_NL, languages/ja_JP/LC_MESSAGES/messages.mo, languages/ja_JP/LC_MESSAGES, languages/ja_JP, languages/fr_FR/LC_MESSAGES/messages.mo, languages/fr_FR/LC_MESSAGES, languages/fr_FR, languages/de_DE/LC_MESSAGES/messages.mo, languages/de_DE/LC_MESSAGES, languages/de_DE, languages/sv_SE/LC_MESSAGES/messages.mo, languages/sv_SE/LC_MESSAGES, languages/sv_SE, languages/el_GR/LC_MESSAGES/messages.mo, languages/el_GR/LC_MESSAGES, languages/el_GR, languages/sl_SI/LC_MESSAGES/messages.mo, languages/sl_SI/LC_MESSAGES, languages/sl_SI, languages/ru_RU/LC_MESSAGES/messages.mo, languages/ru_RU/LC_MESSAGES, languages/ru_RU, languages/tr_TR/LC_MESSAGES/messages.mo, languages/tr_TR/LC_MESSAGES, languages/tr_TR, languages/da_DK/LC_MESSAGES/messages.mo, languages/da_DK/LC_MESSAGES, languages/da_DK, languages/fi_FI/LC_MESSAGES/messages.mo, languages/fi_FI/LC_MESSAGES, languages/fi_FI, languages/it_IT/LC_MESSAGES/messages.mo, languages/it_IT/LC_MESSAGES, languages/it_IT, languages/nl_NL/LC_MESSAGES/messages.mo, languages/nl_NL/LC_MESSAGES, languages/nl_NL

# concrete5 Cache Settings
Block Cache - On
Overrides Cache - On
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).

# Server Software
Apache/2.4.10 (Unix)

# Server API
cgi-fcgi

# PHP Version
5.5.20

# PHP Extensions
bcmath, bz2, calendar, cgi-fcgi, Core, ctype, curl, date, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, imap, intl, json, ldap, libxml, mbstring, mcrypt, mhash, mssql, mysql, mysqli, mysqlnd, odbc, openssl, pcntl, pcre, PDO, pdo_dblib, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, Phar, pspell, readline, recode, Reflection, session, shmop, SimpleXML, soap, sockets, SPL, sqlite3, standard, tidy, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib.

# PHP Settings
max_execution_time - 30
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 128M
post_max_size - 64M
sql.safe_mode - Off
upload_max_filesize - 64M
ldap.max_links - Unlimited
mssql.max_links - Unlimited
mssql.max_persistent - Unlimited
mssql.max_procs - Unlimited
mssql.textlimit - Server default
mysql.max_links - Unlimited
mysql.max_persistent - Unlimited
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
odbc.max_links - Unlimited
odbc.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - <i>no value</i>
session.gc_maxlifetime - 1440
soap.wsdl_cache_limit - 5

Browser User-Agent String

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0

Hide Post Content

This will replace the post content with the message: "Content has been removed by an Administrator"

Hide Content

Request Refund

You may not request a refund that is not currently owned by you.