-
Posts
2,776 -
Joined
-
Last visited
-
Days Won
40
Everything posted by Macrura
-
Better image management / better integration with WYSIWYG
Macrura replied to mindplay.dk's topic in Wishlist & Roadmap
@mindplay.dk - have you seen the editor that is used in Campaign Monitor? It's really a lot like what you are describing; attached are some screenshots... -
you would decide which pages need to have that tag, so for example if they were all pages of a certain template named "something" you would use this in the head: <?php if($page->template == 'something') { ?> <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> <?php } ?> or if you had a checkbox called "no_robots", then like this: <?php if($page->no_robots == 1) { ?> <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> <?php } ?>
-
I think one of the harder questions here is how do you create a project proposal for a really huge site project along with a project 'budget'. I have been researching it and came across some interesting sites: http://redfoxwebdesign.com.au/blog/getting_your_website_designed/how_much_does_a_website_cost http://www.designquote.net/html/dq_estimate_wizard.cfm https://quoterobot.com/ http://www.pearsonified.com/2006/06/how_much_should_a_design_cost.php
-
@Alicia - I think payments depends on a lot of things, like will those be processed on the server, or by a 3rd party; I think if it is something simple like a form that accepts some user input, redirects to PayPal for checkout which sends an IPN via cURL etc, that should be doable without too much wok; if it something where you want to accept payments within the app, you could use something like FoxyCart to handle the payments (you can setup a subdomain on your site for the checkout page), it would depend on the size and amount of monthly transactions...FC only works with the more 'pro' payment processors like PayPal payments pro, or Authorize.net, so it all starts to add up.. But FC does have a XML response that you can process so that after someone pays you would be able to take that info and have the payment reflected in the user's profile.
-
@Vineet - Here's what I use: Online Project Management (for team projects): feng office http://www.fengoffice.com/web/community/downloads.php The latest version is quite good. Has tasks, time tracking, conversations, documents, calendar, reminders etc.. Time Tracking/Invoicing: Billings http://www.marketcircle.com/billings/ Non Time Based Invoicing: Totals http://www.kedisoft.com/totals/ The document customization and client management are a bit more advanced than Billings I also sometimes use Letter Me Later, good for when you need to send an invoice or message at some point in the future http://www.lettermelater.com/
-
the selector should be on the page reference, like child('include=hidden')
-
@Pete - my example is definitely working; it was the code you posted that i couldn't get to work...
-
@Alicia, I am in the process of building something similar (a site with a lot of front-end user management), but am planning on using PW for as much of it as possible. The problem with using something like CiviCRM is that it's really just another CMS where someone has already defined the business logic. If you do it all in PW, then you have the freedom to model things precisely how you need, without having to 'adapt' to some other pre-defined structure. On the other hand if CIviCRM provides most of what you need out of the box, then you can save a lot of time by using it, instead of 'rolling your own'; but you might be surprised how easy it could be to build certain things with PW.. If you end up integrating it into Processwire, then looking at how it has been integrated into other CMS might provide some clues; One other thing to consider is that CiviCRM is known for being somewhat demanding on hardware, and might require a more robust server, whereas in my experience, PW runs great on shared hosting with limited resources, and once you factor in caching (like ProCache) it will probably run circles around most other systems (especially the big 3)
-
Hi Pete - thanks for the clarification - so your code is different because it is meant to only set the URL on the first page save? I had taken your code and then made changes to the template and fields (in my case i didn't need the concatenation) but it wouldn't change the URL after save; I'm not super clear on why your module uses the save hook, as opposed to my example (which was taken from a different similar module) which uses the saveReady hook; what i posted is sort of a utility for a specific need that is mostly happening during development, where the title field is holding a product # and we want to keep those in sync with the page name; but i can think of a lot of other uses where having the ability to build the page name on save based on one or more fields is going to be really useful; so i would like to get a better understanding and further improve the code i posted; i'll probably add checks similar to what Ryan posted.
-
yes, this module is really essential - almost all new sites have some sort of data that needs to be brought together into a custom DataTable with various fields being displayed a certain format... right now i have 2 ecommerce sites using this in combination with jquery datatables to make sortable/searchable products list, with direct edit links and add new products link... ABB
-
@kongondo - thanks and apologies for my verbosity.. so this can be fixed by changing line 72 and 75 like so: } elseif ($this->page->child('include=hidden')->id) { // for the current stable version use this method return $this->page->child('include=hidden')->render(); and then making the child page hidden.. well you beat me to it...but your code looks slightly different
-
@kongondo - sorry i wasn't super coherent: basically if you use this module with the default theme, it's fine because then your custom page appears in the top level menu. But if you use this module on the latest stable version, you have to create a custom admin page as well as a child page of that to store the template reference; And then if you use one of the admin templates with dropdowns in the admin, there is a child menu item which is useless because it will try to render the page in the admin template, which of course has no header/footer etc.. would be confusing for the client to see the parent and the child in the dropdown. hope i'm making more sense, i guess i could post screenshots to make it more clear... so the question would be can we make the child page unpublished or hidden, without throwing an error; this would solve the issue of the child menu item display.
-
i tried Pete's code but it wasn't working; i made some changes based on seeing similar things on other modules, so here is a version that is working for me on latest stable: <?php class BuildUrl extends WireData implements Module { /** * Basic information about module */ public static function getModuleInfo() { return array( 'title' => 'Build URL', 'summary' => 'Builds a URL on page save based on specific fields.', 'href' => '', 'version' => 001, 'permanent' => false, 'autoload' => true, 'singular' => true, ); } /** * Initialize the module and setup hooks */ public function init() { $this->pages->addHookAfter('saveReady', $this, 'buildUrl'); } /** * * @param HookEvent $event */ public function buildUrl($event) { // Accesses the $page object $page = $event->arguments[0]; if($page->template != 'product-child') return; $page->name = $page->title; $this->message("slug changed to " . $page->name); } }
-
I'm trying to use this theme with one of the admin templates that has dropdowns in the top menu and it displays the child page there which is not necessary; I tried making the child page hidden but that doesn't currently work; Just wondering if there is a workaround for those of us using this module, but where we can't have the top level menu item show a dropdown ... hope you get what i mean...
-
@Nico - This looks really great! I've been trying to figure out a way to incorporate some email sending features into a site i'm building - i wonder if this module could be a starting point; How hard would it be to add a "send on date" on a newsletter and then have a cron job running to send at that time... -marc
-
Nice Job Matthew!
-
Handling the ecommerce part for drama ticket booking site
Macrura replied to Vineet Sawant's topic in Getting Started
Hi Vineet - I read up a bit on the XML datafeed that FoxyCart provides, and that feed is what is read/parsed to decrement the inventory in something like the ModX plugin that is related to FoxyCart inventory; you should be able to easily hire someone to adapt that for processwire, and then you would be able to automatically remove sold seats http://modx.com/extras/package/foxycartinventory i guess the main snafu, again, is how to you prevent 2 users from both purchasing the same seats? You might have to use session variables, for example maybe when someone adds seats to their shopping cart, the page redirects to a processwire template that can run a script that would place the seats in that person's cart on 'hold' (and prevent them from being added to another users cart), so you would have to have 3 status types for each seat, SOLD, AVAILABLE and HOLD; then after the person checks out, your XML datafeed parser would check the sold seats against the ones on hold and then change their status to SOLD; you would also have to have it so that the cart expires in some short time frame, otherwise what happens if someone adds seats to their cart, but never checks out - i'm not sure what the default cart expiration is for FoxyCart. The bad news about OvationTix is that it is a complete system, and already does all of the things you have spent your time making, like it has it's own seating charts, seat selector, and backend management of shows, showtimes, etc.. So i don't think you would really want to use it, unless you need something full featured and needed it really fast; With Ovation, one of the other issues is that you can't for example make your own seating chart – the OT admins have to make that for you... (i think you explain to them the seating layout of the space and they configure that from their end..) My recommendation would be to see what you're clients budget is for the shopping cart component and the payment processing, and if they can afford it, then go with Foxycart; maybe search the FC forum for info on unique items and how to prevent multiple users purchasing, as well as if anyone else has done theater or ticketing.. Edit: i gave this more thought, and came up with the idea of keeping the add to cart and all of the logic for your site within processwire, for example using apesia's shopping cart module. Then you could control more elements and style to the cart and any also execute any custom processing you would need within processwire; all you would have to do is to make some changes to the module to let the last step bring the user to the foxycart checkout. For example you could wrap the whole cart view in a form element and use the foxycart tags to achieve adding all of the products from the 'processwire cart' to the 'foxycart cart' and redirect to the checkout; Foxycart makes it easy to add multiple items to the cart at once.. <form action="http://YOURDOMAIN.foxycart.com/cart" class="foxycart" method="post"> <input type="hidden" name="name" value="Les Miserables" /> <input type="hidden" name="theater" value="Imperial Theater" /> <input type="hidden" name="datetime" value="06-05-2013 8:00PM" /> <input type="hidden" name="seatNo" value="Q13" /> <input type="hidden" name="2:name" value="Les Miserables" /> <input type="hidden" name="2:theater" value="Imperial Theater" /> <input type="hidden" name="2:datetime" value="06-05-2013 8:00PM" /> <input type="hidden" name="2:seatNo" value="Q14" /> <input type="hidden" name="cart" value="checkout" /> <input type="submit" value="Checkout" /> </form> -
Handling the ecommerce part for drama ticket booking site
Macrura replied to Vineet Sawant's topic in Getting Started
Hi Vineet - i guess my main confusion would be about the seats - do users purchase a specific seat, can they select it, and if so, how do you prevent 2 users from selecting the same seat? As far as Foxycart goes, the pricing for the service itself is $15 per month, but depending on what sort of payment processor you use, there might be additional fees from that, for example, PayPal Payments Pro i think costs around $30 per month, and that's probably one of the cheaper payment processors they support. If you want a much simpler and less expensive option, jCart might work well, since it quickly and easily plugs into any site and supports regular PayPal payments; again the main caveat is how to you have interaction with PayPal and Processwire if you are trying to automate the ticket sales... The last site i did that involved theater ticketing used OvationTix, and as far as I know it worked well. I can't say i like the ovationtix system that much – while it is really powerful, the whole thing seems a bit antiquated; You might want to take a look at that anyway, i think it might give you some ideas, they have been around for a while and their system is really well proven as far as managing large theaters and productions. One of the key things it does is to allow users to pick their seats, it updates the chart based on what seats are sold, and also allows you to process point-of-sale transactions at the event... -marc -
Handling the ecommerce part for drama ticket booking site
Macrura replied to Vineet Sawant's topic in Getting Started
Hi Vineet - also you should be aware that foxycart is free to development, so you can just setup an account now and try it out and see if it will work. You don't pay until you want it to actually be able to run real transactions; The main problem i see with your setup is how do you remove sold seats; assuming you'll have to read the json response and then run a script to remove those seats from inventory; Some of the more advanced ticketing systems put a seat hold on seats as soon as they are added to the cart (in case 2 users try to add the same seats at the same time)..something like that might be necessary if you're selling actual seats; if you're doing GA, then this would be so much easier... -
Handling the ecommerce part for drama ticket booking site
Macrura replied to Vineet Sawant's topic in Getting Started
Hi Vineet - i recently did a site with FC so i might be able to provide some insights; since you can pass variables to the cart, all you would need to do is to pass the seat # as a variable to the cart and then users could check out; You can make custom receipt pages and that page would similarly be able to show the seat #s. You wouldn't need to make real tickets, the receipt could be the ticket. But if you needed to generate real PDF tickets say with QR codes or something like that, you would have to learn the foxycart API and then get the sales data back to PW to process the PDF generator, as well as remove sold inventory from stock. this might be a good thing to look at: http://wiki.foxycart.com/integration/modx/inventory -
wow that's great. I'll try to help out when i get more time. I was trying to turn this one into a plugin: http://tympanus.net/codrops/2012/12/04/responsive-touch-friendly-audio-player/ it's really nice and html5, but the problem is that html5 audio isn't quite there yet... so then i ended up using soundmanager2 which is super reliable (and in mass use now on sites like soundcloud) – it's cross platform and does hybrid html5 and flash; Since i'm doing mostly responsive design, doesn't make so much sense for me to do flash only; but i'll look at this module and see if it can be modded for a different player; one reason why i didn't bother making a module is because it's easy to setup the template to output the desired markup for any given player, but then you also have to remember to include all the scripts and stylesheets and when applicable the flash objects etc,, so i can see a module being a good thing to house everything, and make it easier to re-use in different sites. it would be good to eventually have audio modules for Soundmanager2, jPlayer, and maybe mediaelement.js; the latter 2 support video;
-
Hi 3fingers, Here is the code that processes the form: https://gist.github.com/outflux3/5690429 here is the form itself: https://gist.github.com/outflux3/5690423 i didn't post the form results, but that's just a table that shows the results; hopefully the processor and form code will help! -marc
-
i think as PW grows in user base, there might be more developers wanting to do ecommerce; perhaps there should be a forum/subforum where we could consolidate all of the ecommerce-related topics.
-
+1 for more info about shopify integration... i have a new ecommerce site that has to go into production, and was considering PW+FoxyCart; I would be interested in the pros/cons re PW+shopify vs other systems...; i guess it must be mostly features – since foxycart can handle everything with respect to the checkout process, i would wonder what advantage Shopify provides. It costs a lot more as well.
-
@vineonardo - thanks for making this... it will be good to have this on an ereader and be able to study it sometimes.
- 24 replies
-
- 1
-
-
- processwire book
- ebook
-
(and 1 more)
Tagged with: