Jump to content
josedigital

new processwire site using blog profile

Recommended Posts

hello, everyone!

been an active reader in the processwire community but never felt like i had anything to contribute. ufortunately, i still don't feel up to speed to contribute much to the community but i thought i'd share a new site. i used ryan's blog profile as a base. it's still not 100% finished (probably at about 90% on the dev side) and the blog hasn't been posted to yet. any opinions/critiques, good or bad, are appreciated. 

http://revengeofthecakeball.com/

many thanks!

alex

  • Like 5

Share this post


Link to post
Share on other sites

Welcome, Alex

Hey, you would be amazed how you can contribute - sometimes just asking questions gives some of the more experienced developers an excuse to pour forth their knowledge!

Cakes look good! (and dangerous for my waist line)  and the site seems properly responsive (which is slowly becoming mandatory, I think). I like it.

What are you using for the shopping cart?

Share this post


Link to post
Share on other sites

thanks, Joss!

this is truly the best and most helpful/supportive community i've ever seen.

and yes, responsive seems to be a standard practice these days. i haven't actually worked on the responsive side of it. the grid i use is set up for responsive but the styles still need some tweaking for it to be fully responsive and complete.

the cart i'm using is http://simplecartjs.org/ it really is simple. easy to use and set up. and with the repeater fields, i can have my client enter all the items she wants. it's not a full e-commerce solution but for more simple needs, it's pretty awesome.

again, many thanks, Joss!!

alex

Share this post


Link to post
Share on other sites

Rally nice what you have done to the blog profile, hardly recognize it :D

Share this post


Link to post
Share on other sites
the cart i'm using is http://simplecartjs.org/ it really is simple. easy to use and set up. and with the repeater fields, i can have my client enter all the items she wants. it's not a full e-commerce solution but for more simple needs, it's pretty awesome.

Hmm, took me 2 seconds to hack it, and enter my own price... which then get's submitted to paypal. Not a solution I would take serious.

Share this post


Link to post
Share on other sites
Hmm, took me 2 seconds to hack it, and enter my own price... which then get's submitted to paypal. Not a solution I would take serious.

Yes... Ouch!!  I see this too.  Very baddiwad.

Alex: what other options did you consider to handle the pretty polly?

You didn't think you would get away without at least one Nadsat reference did you?

Thanks,

Matthew

Share this post


Link to post
Share on other sites
Hmm, took me 2 seconds to hack it, and enter my own price... which then get's submitted to paypal. Not a solution I would take serious.

yikes! thanks for the catch, Soma! i've a lot to learn. and thank you as well for the nice compliment! off to find another solution.

Yes... Ouch!!  I see this too.  Very baddiwad.

Alex: what other options did you consider to handle the pretty polly?

You didn't think you would get away without at least one Nadsat reference did you?

Thanks,

Matthew

nadsat... awesome. 

yes, ouch indeed. i really didn't look into any other solutions. this was sent to me by a friend and it was so easy i didn't think about it too much. too good to be true, then.

all this gives me a bit of a pain in the gulliver! i'll see what i can find. thank you, Matthew and Soma, for catching this. 

alex

Share this post


Link to post
Share on other sites

Hey Droogs,

Are you looking for a way to build your elements with ProcessWire and then link to a shopping cart for checkout/payments?

There have been some discussions about this here.  I've been playing with FoxyCart and like it, but there is a cost --> http://www.foxycart.com/

Thanks,

Matthew

Share this post


Link to post
Share on other sites

Great site josedigital! I would have never guessed this used the blog profile as a base. Nice work! 

Hmm, took me 2 seconds to hack it, and enter my own price... which then get's submitted to paypal. Not a solution I would take serious.

I think this is pretty common. This is really only an issue if you are selling digital products with instant delivery. In a case like this site, where somebody has to create or ship something, I don't think it's a problem.

There's absolutely no benefit to manipulating the values. The paid amounts are almost always in the face of anyone fulfilling orders. If someone is manipulating these things to place an order, it falls under the category of "world's stupidest crimes." They are committing fraud while creating a permanent paper trail and providing personal info like a credit card and/or mailing address. :) 

  • Like 1

Share this post


Link to post
Share on other sites

Haha, yes in this case not a real problem maybe.

But I see it rather as the "most stupid thing" to create and publish such a script to the not so aware folks out there in the first place. Which obviously has a security problem and will be used by common "have no idea" users.

And I'm not sure about what the laws are if a user can order a thing for 0.01 and you at the end have to deliver it for that price.

  • Like 1

Share this post


Link to post
Share on other sites
Great site josedigital! I would have never guessed this used the blog profile as a base. Nice work!  <-- thanks, Ryan!

Share this post


Link to post
Share on other sites
And I'm not sure about what the laws are if a user can order a thing for 0.01 and you at the end have to deliver it for that price.

That is not an issue - most consumer laws say you are agreeing to the published price - or display price in a website - plus any additional charges that are clearly displayed.

What you are suggesting is like going into a shop, picking up an item marked for ten pounds/dollars/franks/yen/ and then leaning over the counter and changing the till value to a pound.

:)

  • Like 1

Share this post


Link to post
Share on other sites
That is not an issue - most consumer laws say you are agreeing to the published price - or display price in a website - plus any additional charges that are clearly displayed.

What you are suggesting is like going into a shop, picking up an item marked for ten pounds/dollars/franks/yen/ and then leaning over the counter and changing the till value to a pound.

:)

You'll laugh but there's been such cases where people do swap prices in a shop and get away with it.

Share this post


Link to post
Share on other sites

while i do appreciate Soma's catch, i agree with Ryan. i don't think it'll be an issue with this site and this type of product. been looking into other solutions for future use. i liked Matthew's suggestion (foxycart), but will keep my eyes open for other alternatives. many thanks to everyone for taking the time!

alex

Share this post


Link to post
Share on other sites

Hi Alex,

Nice job you've done with the blog profile! I do get this error "Unable to complete this request due to an error. Error has been logged." when trying to access the 'Archives' page in the blog section. Perhaps something to have a look at. ;)

Share this post


Link to post
Share on other sites

Nice site Alex. I like the use of textures and fonts on the site. The contact form is well done too.

Just out of interest, how long did it take you in respect of using the blog profile as a base?

Share this post


Link to post
Share on other sites
Hi Alex,

Nice job you've done with the blog profile! I do get this error "Unable to complete this request due to an error. Error has been logged." when trying to access the 'Archives' page in the blog section. Perhaps something to have a look at. ;)

thanks, panictree. that error has been there because the client hasn't added any blog posts. i went ahead and added a fake post and the archives page is working now. thanks for the heads up!

 
 
Nice site Alex. I like the use of textures and fonts on the site. The contact form is well done too.

Just out of interest, how long did it take you in respect of using the blog profile as a base?

thank you, raydale. using the blog profile as a base was pretty easy and didn't take long at all. it didn't take more than 3 hours to adapt my design to the blog profile.  here's what i did:

  • duplicated the home page template and named it blog_home
  • created my own homepage template
  • i found it would be easier for the client to add content if i treated each section of the homepage as a page (home, gallery, order form, about, and contact) so i created templates for each with their respective fields.
  • all pages are published + hidden except for home and blog pages
  • i called all the needed fields in my home template (all home page fields, all gallery fields, etc.)
  • and then just created a page named 'blog' using the blog template.

hope this answers your question. many thanks to both of you!

alex

Share this post


Link to post
Share on other sites

... any opinions/critiques, good or bad, are appreciated. 

http://revengeofthecakeball.com/

Beautifully done Jose :P 

On the homepage, this line, "Now accepting orders for Valentine's day through Monday, Feb. 11" is past date.

Otherwise, I also caught the easy to manipulate prices in the javascript cart something to worry about.

But I also do agree with Ryan, it's not really a big deal.

GREAT choice on the fonts!!! your color palette is very nice and soothing, it matches your products very well!

Share this post


Link to post
Share on other sites

OOPS, last thing I notices is that the 'Add to Cart' buttons are all a little scattered vertically. Maybe aligning them all in a horizontal line would make them prettier ;) 

Share this post


Link to post
Share on other sites

I'm considering simplecartjs as a new small online shopping website.

May I ask you, how do u implement each of product ?

I'm quit new on processwire. In my understanding, to setup a product is to create a product template (processwire content all are pages) with necessary fields for a product. for example title, desc, product image, quantity, price

Am I right ?

Share this post


Link to post
Share on other sites

That's the general idea. Create a template for your products (let's say it's called product). Create and/or assign all the fields needed by a product to the "product" template.

Share this post


Link to post
Share on other sites

Go to http://wojodesign.com/simpleCart/

Right click and view page source

It runs completely on the client side so I wouldn't recommend this shopping cart.

The latest simplecart version is 3.0 and you should check if they solved these security issues:

https://github.com/wojodesign/simplecart-js/issues/329

http://www.reddit.com/r/javascript/comments/1dxiy0/this_javascript_shopping_cart_just_looks_too_easy/

Share this post


Link to post
Share on other sites

I've take a look at simpleCart(js). Nice and simple. 

Maybe a simple way to get it done, but without server side verification and checkout it's insecure (especially for digital products)...

Could it be secured with only "SendForm" Checkout? To verify it at the server? But I think it needs a different/ own checkout gateway...?

*update*

Thinking about Snipcart integration/ shop...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By schwarzdesign
      We recently finished a relaunch of  the website of the consulting firm Engfer Consulting: engfer-consulting.de. Built with ProcessWire 3 and Bootstrap 4.
      Features
      Bilingual website (UPDATE: The English page is now available! the English page is inactive at the moment, as the content is not ready yet) A strong, simple data structure for job offers and news, allowing for a custom search page and fulltext search Sectioned content-blocks built with a Repeater Matrix (ProFields) Reusable components available as page reference fields Automatic generation of open graph-tags, with manual overrides available on each page Contact forms with a custom recipient depending on the current page Modules used:
      ProFields ProForms Sitemap Cookie Management Banner Duplicator Tracy Debugger Wire Mail SMTP Admin Links in FrontEnd Technical insights
      Most of the content is built using a Repeater Matrix field. Each section has an optional heading and a select-field for background colors. Some of the sections available include:
      Text blocks (a repeater-field for multi-column text) Feeds / listing of the latest job offers or news (with a field to control the number of entries shown) Displaying a team member or quote (selected through a page reference field) Downloadable files (a multivalue field for file uploads) Those sections can be combined and stringed together arbitrarily, so any number of page templates showing different contents can be built. The job offers template, in contrast, features fixed fields for taxonomy assignment, description, contact person, preview image and so on, making the job offer pages uniform and easily accesible.
      The (technically) most interesting part of the site is the job overview page, which contains custom filters that are automatically generated from the available taxonomy terms.
      The stylesheets are written in SASS, built with Bootstrap 4. Only the base and grid SASS files of Bootstrap are included, along with the Bootstrap components that we ended up using. Using Bootstrap 4 as a framework in this way makes development & styling blazingly fast, once all the utility classes are commited to muscle memory ...
      > Our Agency.
      Screenshots









    • By benbyf
      Not new, but a website I've worked on for a year or so in continous development.
      http://supercarownerscircle.com/
      I originally inherited the site from another web design company - upgraded PW and over the year added ecommerce using the Stripe module and a custom integration, revamped the frontend and added lots of new templates.
      Also did some frontend work on the shopify shop.

       
       
    • By flod
      Is there any chance to get stars and voting for comments in Uikit 3 “Regular” site/blog profile soon? Any working solution would be great.
    • By erikvanberkum
      I like to showcase my new website acniti on the forum here.
      History
      Building and managing a website is a hobby, over the years, making websites got more complicated and more technologies, knowledge and wisdom are required. I started building my first website around 1997. It started out with a static site built with FrontPage, a WYSIWYG HTML editor. A few years later it was time for the first content management system, I looked at Joomla but settled for MediaWiki. I run those websites for 2 years on the MediaWiki platform and then moved on to WordPress. WordPress was good, it did a good job but over time, it became more complicated to make something out of the box, if it's not a blog, it becomes complicated and to have a feature rich website requires a lot of plugins. Little by little it became less fun and more and more hassle juggling the various plugins.
      In 2014 I became interested in learning PHP programming, I wanted to do this already for many years, but never had enough time to bite the bullet and work my way through the basics. At the end of the courses I though and now what have I learned, how to put this into action? To built modern website with PHP only is difficult, it also requires knowledge of html, MySQL, CSS, java-script etc. I started looking for a framework experimented a little with CakePHP and then came across Processwire via a CMS Critic blog post.
      Development setup
      I developed the acniti website on a Linux Ubuntu 16, with PHP 7 and MySQL as the development server. For the IDE I use PhpStorm, before using Storm I have used and tried some other IDE's such as Zend, Eclipse, Netbeans, Aptana but none of them I liked, some were feature poor, Zend and Eclipse were slow and use a lot of memory. PhpStorm not free but definitely worth the investment. I make use of the free tier Git repository of AWS called CodeCommit, I still use GIT Cola to commit the changes, I could also use PhpStorm for this but I never took the time to change my workflow.
      For project management I am a big fan of Redmine, Redmine is a web-based open-source project management and issue tracking tool. I use this also for my other work so it easily integrates with the website building flow as well. It's easy for maintaining lists of features you want to carry out per version, it supports a wiki which is easy for making notes and keeping a log of the activities. I use it everyday and it runs on Ruby. For images and graphics I switch back to Windows for some Photoshop.
      Processwire
      The acniti website runs on the latest stable Processwire version at the time of writing 3.0.62, the website has 4 languages including an Asian language. The Japanese language URL's are implemented with their 3 alphabets kanji, hiragana, katakana i.e. https://www.acniti.com/ja/インレットフィルタ. Some images on the site have text and image language tags help to select the correct language, the Processwire blog post from 30 June was helpful to get this running.
      The main site has a bootstrap theme, for the mobile version of the site the google AMP specification is implemented. This was really fun to do but challenging at times as the AMP specification is still a little limited. To visit the AMP pages type /amp/ behind any URL like https://www.acniti.com/amp/ for the homepage. The Google webmaster portal is really easy to troubleshoot and check for the correct AMP implementation. Finally structured data according to schema.org is added to the site via the JSON-LD markup.
      The commercial modules ProCache and Formbuilder are installed. The ProCache module is really amazing and makes the website lightning fast. Besides the commercial modules around eleven open-source modules are used, Database Backups, Tracy Debugger, Wire Mail SMTP, Protected Mode, Batcher, Upgrades, PublishAsHidden, URL (Multi-language), Twitter Feed Markup, Email Obfuscation (EMO), Login History, Selector test.
      During development the Processwire forum is really helpful and checked often. The forum is good for two reasons, most of the questions, I had during development of the site, are already on the site. Secondly the only 6 questions I posted over the last 2 years, are quickly and accurately answered. The downside I didn't become a very active member on the forum but see that as a compliment.
      An open issue on the acniti site is the AMP contact form with Formbuilder, the restricted usage of java-script for the AMP specification requires some more in-depth study.
      Hosting setup
      For the hosting services the acniti site uses Amazon EC2, I use AWS already many years to manage my cloud office so it was easy to decide to use it for the web hosting as well. The site is running on a micro instance of EC2 and with the ProCache module CloudFront is serving webpages worldwide fast. Updates from the development server are sent to CodeCommit and from there to the production server. From a site management point of view it would be nice to use AWS RDS to manage the MySQL databases, but from a cost perspective I decide not to do that for now. Via a cron I have set up automatic MySQL backups and these are via another cron job uploaded to AWS S3. To make sure the server is safe, a cron job runs daily snapshots of the server, this is getting initiated via AWS Lambda. Lambda also removes older snapshots because during creation a delete tag is attached for sevens days after their creation. It's important to make a separate MySQL backup as with snapshots the database often gets corrupted and its easier to restore a database backup than to fix a corrupted database. Another nice feature to use AWS Lambda for is a simple HTTP service health checker, which reports to you by email or sms when the website is down.
      Making use of all these Amazon services cost me probably somewhere between 10 - 15 $ a month, I have to estimate a little since I am running a lot more things on AWS than only the website.
      The site is running on a Comodo SSL certificate but next year I will change to the free LetsEncrypt, as it is easier to add and will automatically renew after 90 days. The Comodo certificate requires manually copy pasting and editing the certificates in place.
      Writing Content
      The content for the site I write in the Redmine wiki, most of the content I write requires research and it takes about two weeks before I publish the content to the Processwire site. For writing content I use the google spell checker with the grammar checker, After the Deadline. To ensure catchy headlines they are optimized with the Headline Analyzer from CoSchedule
      Social Media
      Now the site is running, it needs promotion. The robots.txt files shows the search engines the way as does the sitemap.xml both of these I have made in a template file. Most of the blog articles I promote are republished on social networks like, LinkedIn, Tumblr, Google+, Twitter, and some branch specific networks as the Waternetwork and Environmental XPRT. To check, the search engines index the site well, Google webmaster and Bing webmaster check for any problems with the site. For statics on the same server there is an instance installed of Piwik. Piwik is a leading open alternative to Google Analytics that gives full control over data. The Piwik setup works very well and gives a good overview of the site usage both on the desktop via the site or via a mobile app. As a part of a test I have installed the open-source SEO-panel on the same server to manage keywords and to further improve the scores in the search engine, a nice feature is that you can also track your competitors. I am still new to SEO panel and have to learn more how to use the tool effectively.
    • By webhoes
      Hello,
      I want to showcase my website made in processwire. https://chrysemys.nl/
      Goal of the website
      There are quit some websites with information about turtles. Most of them are very limited in information. This website main goal is to be very complete in information. Information about turtles, there natural behaviour, detailed descriptions. Next is also associations ( (bi-)directional links) with caresheets, books, food, illnesses, etc...
      Second goal is to learn PHP as I started an education for application engineering 4 months ago.
      Setup
      It is build on the latest version (3.0.61) and makes use of the latest template strategy. I use the pw-append, pw-replace classes in combination with _main.php and several template files.
      Most of the rendering is done from custom functions in _functions.php. 
       
      In the back-end the pages are styled with the options for visibility and group in logical blocks. This is a very nice feature with processwire and makes the pages easier to fill.
       
      Next to the core modules I have used the following extra modules:
      AIOM+ - obviously
      Connect Page Fields - This module is very important. The whole site is considered a relational database. The base is the enity turtle. This entity has bidirectional associations with books, caresheets, locations (voor google maps), regions (to group locations), the different classifications of the animal taxonomy, food, etc. To make these kind of associations it greatly simplified the output on the other templates.
      This module was a mandatory feature for being able to create a site as I wanted to. Otherwise it would it would be very inefficient to keep everything up to date. Now I can add a new book and connect it to one ore more turtles. After the save you can see the book also on the turtle page. This goes for all the bidrectional links.
      This page is about a species - https://chrysemys.nl/schildpadden/emys-orbicularis/
      This species has several sub species (basicly the same turtle but live in another country/region and has some different charasteristics). I have decided to make no distinction between species and sub species (on a template level) and use this module to connect them to each other. One reason was that this way the url would not be too long. 
      This turtle lives in several different habitats. These are also bidirectional associations. The same goed for food, books, food to mention some.
      The biological taxonomy is also build this way as entities that have no parent/child relation. They are connected to each other with page reference (in this case).
      Both methods (page reference or parent/child) have their pro's and cons, in the end this setup seemed to work best for me.
       
      Map Marker - This is used for the map marker field for the locations (verspreiding). Everyt turtle can live in one ore more locations and the will show up on the google map. Also I have the possibility to add location specific information about the climat on the pages (missing on almost all other websites).
      Map Markup (Google Maps) - For the output of the google map. The js script for this is only outputted on the pages where it is used (template strategy).
      Markup Sitemap XML - obviously
      Social Share Buttons - Added this as it is recommended for a better SEO score.
      Get Video Thumbnails - The blog story can have a youtube link. This module automatically grabs an image and places it as the image for the blog. No more extra steps needed.
      Video embed for YouTube/Vimeo - I slight changed the output for this module so it always is placed under the body.
      Datamaps.js - Also I had some very important help from @adrian with help of using datamaps.js. This page is a datamaps script that read all turtles that live in the US and shows them in the correct state. https://chrysemys.nl/kaart-verenigde-staten/
      A php function renders the output for the script and fills the variables. These are added to te script on rendering the page.
       
      The website is not finished and probably never will be as new information and functionality will be added all the time. But it is finished enough to serve as a showcase.
       
      Roadmap
      There are several things I want to add in the future:
      A find selector for overview pages (select by size, region, family, etc). Worked on this but, could not get it working.
      Datamaps.js for all regions (also with a selector to select another region).
      Optimize the queries to make the site  faster.
      Several front-end improvements (marging/padding/font-size, etc...)
       
       
       
       
       
       
×
×
  • Create New...