-
Posts
1,523 -
Joined
-
Last visited
-
Days Won
21
Everything posted by elabx
-
Hear you hermano, I've always lived in informal economy. Don't have a cent for pension/retirement. PHP/ProcessWire in my country, serves me well for small to medium sized solutions which is basically what I do right now a quarter of my time, and have a deal with an agency that serves "PW products" to US/Canada which does most of my income. But in a local company (and with this I include big international business with offices in Mexico) it would be easier to get paid in any other language, PHP have this really bad rep. Also, the US tech scene defines a lot of this, cause most top talent in Mexico ends up in US and if not, a lot of companies have their dev teams outsourced here and haven't heard much about PHP technology being used, at least from the people I know that have migrated/freelance for US companies. Talking about overall tech skill, I've seen working with methodologies like Agile things get you on higher wages. My bet on that started with ProcessWire and until now, ups and downs but overall, great success! haha
-
That book is GOLD, its content made such an impression on me that I also instantly took that advice and never listen to music again when coding/designing/drawing. It's the closest I have to a Bible.
-
ProCache is an awesome product with lots of features and Ryan's touch of mastership but for the less/sass compiling you can roll your own with the right PHP libraries, did it once myself with https://github.com/oyejorge/less.php Yes indeed! Actually working a lot on one a lot provided by LiquidWeb.
-
VPS services give you a blank linux machine where you have to configure Apache/MySQL/PHP. Sometimes they include panel tools to automate some tasks, I have only used Amazon EC2 which gives you nothing but the empty Linux machine. I think small/medium clients who look for a "all-in-one" solution will prefer a 'normal' hosting. As it enables them instantly ftp accounts, mail accounts, etc. From what I've seen from @Jonathan Lahijani 's projects posted around here is that they are more resource demanding and complex from your average website, so a VPS feels like a perfect fit to achieve performance and simplicity/customization in the server setup. E.g. You need to install a particular php extension, need to use composer, etc. Yes my friend! As beautiful as you depict it. I don't know the specifics but probably checks for changes in the file on it's own, rerenders and caches it. I hope the AdminUIkit had a way to be hooked on ProCache to leverage the in-server compiling.
-
Add additional text input to existing options field.
elabx replied to elabx's topic in General Support
I see the problem too and fully agree on you observations. I think I will follow your advice on the questions. I will make my own custom lister. The big horizontal scrolling doesn't worry me as much, the main features I want to take from the listers are the filtering , the CSV export and the "bird eye" view it gives, so those features I think I can handle in a Process module to keep the data structure maintainable which is what in the end worried me the most haha Thanks again for the help! -
Add additional text input to existing options field.
elabx replied to elabx's topic in General Support
Haha, I think I am too. And MAYBE my understanding of the word questionnaire is messing with my life right now (maybe the phrase, submissions of the questionnaire was missing) . I decided to make a quick processwire sketch of original Plan A: The way submissions look in the tree: The questionnaire template: The ListerPro of questionnaire submissions: What I like from plan A is is that the problem is solved all the way, from representing the questionnaire, to the Lister/Export functionality. The thing is that i don't feel it's very end user friendly and the data deletion problem. Hope there was a way to set "field templates" and work with them kind of in a way you work with parent/children template rules in the page tree. Then again, I could do my own Process module I could base on the process module that enables this screen in a much simpler way. I kind of didn't understand how to relate answers among themselves since they exist under their corresponding question. For example, I need to relate Answer 1 of ALL questions, they are the answers to a single questionnaire submission. Thanks a lot for your patience! -
Add additional text input to existing options field.
elabx replied to elabx's topic in General Support
From what I understand, your proposal focuses on the answers, rather than the WHOLE questionnaire, I would have imagined a ListerPro where the rows are a set of answers corresponding to the questionnaire. But you got me thinking, what if I related answers with a single page. Questions ---Responses --------Response 1 <- This has a page field which has a relation to an answer per child question., eg. (has=question1_answer1,question2_answer1) ---Question 1 -------Answer 1 -------Answer 2 -------Answer 3 ---Question 2 -------Answer 1 -------Answer 2 -
Curious about this idea. Could this be solved by only making the Inputfield module? Or would it require the a Fieldtype?
-
Add additional text input to existing options field.
elabx replied to elabx's topic in General Support
I do agree it could be manageable. From the business perspective, questionaires won't change often. And yes and pretty aware of the removing fields/data problem. Thanks for your thoughts! Really dig this approach, though how would you handle the saving of the data and then displaying it on a ListerPro? Think this is the part where this soultion could fail me. -
Add additional text input to existing options field.
elabx replied to elabx's topic in General Support
You understood correctly. Users will fill them as normal pages in the backend, this is a kind of private portal. I want to leverage ListerPro and it's export to CSV capabilities, basically this extra functionality is what discarded FormBuilder. It's around 50-60 fields per questionnaire, could scale to more. Doing the 50 extra fields felt like non-optimal solution, so instead of having extra 50 tables why not just an extra column in a custom Inputfield maybe, with a nice text input hidden and revealed with it's own javascript logic and i think it would be easier to add/remove question in case I want to change the questionnaire. But maybe I am overthinking it, since I am not very experienced into making Fieldtype/Inputfield modules. What I imagine is a combined Options field with just an extra input that can get toggled to be shown only if necessary. -
Hi everyone! I am working in an application for gathering information from customers. Basically it's a bunch of questions, each one a field and each new answered questionnaire is a page with template "questionnaire". 90% of the questions are yes/no (using SelectOptions field) and all must have an optional comments field. Since I don't want to add a comments field for every question I have, would it be possible to "mass add" this extra comments field through a hook? Or is making a new fieldtype/inputfield the way to go here? If the latter, would anyone point me to an existing example if there is one?
-
Just had this for breakfast! Brilliant work @bernhard ! Really shows the power of PW in a very pragmatic way.
-
I have some sites that have ssl certificates and I'm doing a redirect using the .htaccess file. I have noticed that processwire's httpUrl() fails to render the https:// schema in the Moda/Panel preview in the Page Edit screen and renders them as normal http, thus making them fail to load because of mixed origins. What I have noticed is that $config->https is always null on my site, and thus httpUrl() fails to set the schema as "https". I also tried setting the template to HTTPS only (to force true on $config->https, and as a result force the https schema on httpUrl()) but then I get into the trouble that all pages with that template get "too many redirects" error when trying to load them. Tried removing the htaccess redirect and leave the PW one with no success.
-
POST fields and database query columns seem to match, any other info you can give us? Getting any errors/exceptions? Check that the database connection succeeds Check that the POST info is going through, you can start by checking your browser Network tab to see what's going through the post.
-
I see on your AJAX calls you are trying to reach home.php, instead of "/", which I guess is the route you are trying to get too. You could try changing all urls that say home.php to "/" like: $.ajax({ url: '/', data: 'action=update&title='+event.title+'&start='+moment(event.start).format()+'&end='+moment(event.end).format()+'&id='+event.id, type: "POST", success: function(json) { //alert(json); } });
-
Search children but don't retrieve them (or exclude them)
elabx replied to elabx's topic in API & Templates
WOAHH children.field that's some awesome selector right there. $result = $pages->find("template=listing, (field1=data, field2=data), (pagefield.field1=data, pagefield.field2=data)"); -
Hi! I am working on a real estate site and I will create variations of each listing as child of each listing (with the exact same fields) and combine the information in the frontend. Question is, how I could leverage searching fields in the listing AND variations but, I wouldn't want to get Pages that are listing variations. How could I account for: Found "4 bathroom" option inside variation, but I only want to retrieve the parent which is the main listing posting page. What occurs to me is: $result = $pages->find(field1=data, field2=data, template=listing|listing_variation); $only_variations = $result->filter("template=listing_variation"); //import only parents, if already present, will not import foreach($only_variations as $variation){ $result->import($variation->parent); } //Remove the pages variations $final_results = $result->not("template=listing"); Think it will work? Would there be a more efficient way?
-
Page Reference Input fieldtype: Checkboxes - more advanced options
elabx replied to cst989's topic in Wishlist & Roadmap
Just to elaborate a bit more on @bernhard's suggestion, you could hook into the Inputfield::render method and draw some other stuff you need right there inside the inputfield (for the check all/none functionality). I think a good example is in HelperFieldLinks code. Here is also an example on how you could add also the necessary Javascript. @Robin S Pagination in Page Table would be awesome. -
Has anyone found a fix for this?
-
Could we get some more info on that nice looking search input you got there?
-
I learned with ProcessWire that the Internet could work just fine before single page applications I'd love some parts of PW to work as a SPA module, for example, a kind of template-field creator where you can create in a very agile way template-field relationships and the template context overrides. A kind of "template designer".
-
Great idea and execution!! I think this could turn into a very important piece of the PW ecosystem. Congrats!
-
Justin case someone looks for an answer, it is possible to dynamically set the selectable pages (instructions are in current PW page field options). And to dynamically change the parent of the "to be created pages" from the Create New textarea, it is possible to hook into InputfieldPage's method processInputAddPages, set "template_id" and "parent_id" configuration data on the fly with the information we have available such as the $page where the field instance is being called. If you take notice, later on the hooked method, this two options are read back to accomplish the page creation. $wire->addHookBefore('InputfieldPage::processInputAddPages', function($event) { $field = $event->object; $page = $field->hasPage; //Set the parent and template options, this are checked later to complete the task of adding pages $option_template = wire("templates")->get("template_name")->id; $parent_id = wire('pages')->get("name=options")->id; if($page->template == "some_template"){ //Example, change the parent depending on what template the field's currently in. $parent_id = $page->child('template=custom_options')->id; } $field->set("template_id", $option_template); $field->set("parent_id", $parent_id); });
-
Was about to ask about FiledtypeTable migrations but decided to try myself and it seems to work fine this way, dropping it here in case someone's in need: <?php class Migration_2017_10_23_12_24_20 extends FieldMigration { public static $description = "Add table field"; protected function getFieldName(){ return 'booking_advanced_fields'; } protected function getFieldType(){ return 'Table'; } protected function fieldSetup(Field $f){ $f->label = 'Booking Form Extra Fields'; $f->collapsed = Inputfield::collapsedNever; $this->insertIntoTemplate('home', $f, "booking_advanced", true); //Booking advanced is a checkbox in this case, hence the showIf setup to make the table appear if required $this->editInTemplateContext('home', $f, function(Field $f) { $f->set("showIf","booking_advanced=1"); }); $f->set("maxCols", 4); $f->set("col1name", "column1"); $f->set("maxCols", 4); $f->set("col1type", "text"); $f->set("col1sort", "1"); $f->set("col1label", "Column 1 Label"); $f->set("col1width", 50); $f->set("col1settings", "textformatters=TextformatterEntities\nplaceholder=\ndefault=\nmaxLength=2048" ); $f->set("col2name", "column2"); $f->set("col2type", "text"); $f->set("col2sort", "2"); $f->set("col2label", "Column 2 Label"); $f->set("col2width", 50); $f->set("col2settings", "textformatters=TextformatterEntities\nplaceholder=\ndefault=\nmaxLength=2048" ); $f->save(); $table_module = wire("modules")->get("FieldtypeTable"); $table_module->_checkSchema($f, true); } }
-
Didn't know this tool, seems much more equipped than Server Pilot, am I being fare in this comparison?