-
Posts
291 -
Joined
-
Last visited
-
Days Won
2
Everything posted by Pierre-Luc
-
Released: PadLoper (commercial eCommerce platform for ProcessWire)
Pierre-Luc replied to apeisa's topic in Modules/Plugins
Thanks a lot for the precision apeisa. I subscribed to your mailing list, can't wait to have a go at implementing it (and ditching Shopify!). -
Released: PadLoper (commercial eCommerce platform for ProcessWire)
Pierre-Luc replied to apeisa's topic in Modules/Plugins
Looking forward to try it too. Will this support Language* fields? I am currently using Shopify (which we dislike) on the website of a non-profit I manage, and this would be amazing to have. We have roughly 50% French and 50% English people and there's no way to make this happen. One nice thing would be to be able to match output of emails for receipts to the user language (I suppose you store templates for those in text fields?). -
On GitHub: https://github.com/plauclair/AutodetectLanguage PW's Modules repo: http://modules.processwire.com/modules/autodetect-language/ This ProcessWire 2.x module tries finds a best match between HTTP_ACCEPT_LANGUAGE and currently installed languages. If a match is found, the user will be redirected from the requested page to the same page in his preferred language. This match occurs only on the first page load, and will work with default caching on. If no match is found, the website will revert back to the "default" language. Installation info and more details on GitHub. Please submit any bug on the bug tracker, as it is easier to track different issues.
- 20 replies
-
- 12
-
-
I have just completed a full translation (meaning every strings are translated). It is available here: https://github.com/plauclair/pw_french/tree/2.5.3 @ryan, it seems like the old maintainer hasn't been active in a very long time, is it possible to make my repo the default one? Thanks!
-
As mentioned, add a page field to the user where you will specify the pages the user has access to. In the appropriate place (this could be the template, or else) add a function (this should be the first piece of code to execute, before any rendering) ) to check if the current page id matches one of the pages in the user's allowed page list. If the match is negative, redirect the user somewhere else. If it is positive, let the page continue to execute. I would gladly give you some code example but being on my phone right now makes it sort of hard. Hope this clears it up for you.
-
Hi @hafa. I exclusively run my projects on Linux(Ubuntu)/Apache, I have no clue if MAMP is able to run this and cannot confirm that it will. If you can, PM me your server info so I can go look at it, or if you prefer send me a package including all the files + mysql dump so I can have a look first-hand to see why it's not working.
-
Questions: 1) do you have any of the ProcessWire language modules enabled? If so, which ones? 2) Do you still have problems with the name field when you use letters in the dictionary (I had this happen once, but I thought I fixed it)
-
Hey guys, sorry for not answering for a while, I've been quite busy with other things lately. All fields should be supported, name included. It is compatible with 2.4 and 2.5, I have a few sites running it without any problem. As was mentioned, there are dependencies that MUST be met, check the GitHub page for documentation.
-
Has the cheatsheet been updated for 2.5 ? It's unclear from the page itself what version of ProcessWire it is for or when it has been updated. Also, bonus points if it could be possible to highlight new or modified core functions.
-
As mentioned before, modules.processwire.com/modules/process-field-generator/ is a module I made that does exactly that. Reason why I personally needed it : the ID of content had to not be discoverable and a fixed length. Page IDs don't provide that.
-
If work's done to start using Transifex or whatever, I'll be glad to dig in and produce a French translation for the whole PW.
-
jtherczeg, I clicked on this thread to propose exactly that — using Transifex. As far as I know Transifex works best with typical gettext files but I wonder how/if this could be adapted to work with PW's JSON files.
-
I'll look at merging the changes from 1.0.1., but they seem very minor (unless the revision notes don't tell the whole thing).
-
I see, the 1 you insert is a preset, but it doesn't have the "remove spaces before colons" turned on by default. You need to replace the 1 preset with all the individual parser attributes you want, so it might look something like : qDe:-;-
-
You need to set the parser attributes explicitely for this. Entering a minus in the "Space before a colon" field just replaces the space character before the colon with a new character (you would usually use it to change the space type, for forcing a non-breaking or a thin space for example, but it can take any character), this is why you're getting a - in your text. The documentation on GitHub tells how to do this, let me know if part of it is unclear.
-
Hey Pete, yes count() works pretty good and it’s really easy to do, but depth() is more of a handy after affect for convenience in the other functions. I think I was adding this way too late into the night and overthinking it a lot, that solution is so much better I’ve switched to it in the last commit.. The field I’m thinking of adding is really more to enable a basic selector for this, but if/when I figure out how to add custom selector function, I might not go that way. Caching the comment system is a whole other topic, getting page depths is really not what concerns me the most at this point. MarkupCache already does wonders though!
-
I’m currently working on a module called Page Depth that lets you return a page’s depth relative to the root, to a closest selector or a page. Basic functionality is in there. It currently has three functions $page->depth(), $page->depthFromClosest() and $page->depthFromPage(). I’m thinking of adding an integer hidden field named depth to prevent having to run the whole functions each time it’s called, but since it’s pretty basic it doesn’t have much impact on the load time even in its current state. It supports the PageLanguageName module, admittedly I haven’t tried it without it but think it should be working fine. If it doesn’t let me know and I’ll fix it.. finally got a chance to test it, working fine! I’m publishing it now in its unfinished state thinking some of you might have requests or ideas what this could be useful for. I’m currently using it to prevent too many subpages (where pages are individual comments and would be replies to other comments) on a comment system. Documentation and download at : https://github.com/plauclair/PageDepth
-
That's what I was thinking, I'll look at implementing that for 1.0.0
-
Version 0.9.9 - Generators for all! Download on GitHub 0.9.9 fixes an access problem preventing users other than the superadmin to use it and other minor bugs. I've removed the ability to delete the stored settings, I figured if someone disabled the module temporarily and wanted to reactivate it, you shouldn't lose your settings for that. What do you guys think?
-
There are multiple strategies you can use. A lot of times, the problem with clients is cash flow on their side. They will see this 4000$ bill and tell themselves "there's no way we can pay this right now". If at all possible, look at payment options. Do you specialize in a specific market? This could help word of mouth referencing and you can develop ready-made modules and templates you can start with, instead of starting from scratch every time. This could help you reduce development time while keeping the same salary (you're selling value, more than time!). It might be interesting to offer both time- and non-time-based contracts. You might have 6-7 websites to do in a month, all requiring tops 2-3 days of work but still have enough cash flow to pay bills and luxuries. If one ever takes a bit more, the loss you're making there will be compensated by the others. I don't know how you manage your projects, but scope limiting can also help you gather contracts (the ones who pay less could cut on features). The problem is that you then have more contracts but sometimes they're too small to be worthwhile.. Try looking at having a few retainers. Bigger customers are more encline to have retainers and are typically those who'd have more money too for tailored websites. This is a plus, but retainers are harder and harder to find it seems. Or you might be interested to join a startup and create larger size projects. There's a few options out there, I'm sure there's more..
-
If anyone is interested, this is a realtime commenting system I'm implementing using it. It's very alpha and I'm not sure if I'll ever to publish it as a module, but it was very easy to implement. The comments are posted using AJAX and the simple api router I use calls a function to post the comment. This function in turn creates a Pusher event in PHP and sends the data to Pusher, which sends it back to the client (this is all push). There are a few lines of javascript waiting for the event to trigger, which in turn renders the comment that was send back from the server through Pusher. I'm using all native PW fields and templates for this, this allows me to have caching enabled on the server. Each time a comment is posted, the discussion is re-cached, so if someone loads a page, it should get most of what's supposed to be there, then any updates are done client-side.
-
Has anyone seen this or could explain what could be wrong (on 2.4.0) ? I have a page field which is a select for pages with the language template. This is working either as a guest or logged-in user (tried with admin, not sure about others): $discussions = $page->children("template=discussion, discussionLanguage=".$user->language); While this is not when the user is a guest but works when logged in as admin: $discussions = $page->children("template=discussion, discussionLanguage.title=".$user->language->title); I'm not sure what's going on, this seems like a bug? While the first is valid, I would prefer to use the latter as I use a helper function to grab user languages with different variations according to the context: function languageWithLocale($user) { return (string) $user->language->title; // typecast to string for usefulness } I've filed it as a possible bug : https://github.com/ryancramerdesign/ProcessWire/issues/544