Jump to content

Search the Community

Showing results for tags 'Modules'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Welcome to ProcessWire
    • News & Announcements
    • Showcase
    • Wishlist & Roadmap
  • Community Support
    • Getting Started
    • Tutorials
    • FAQs
    • General Support
    • API & Templates
    • Modules/Plugins
    • Themes and Profiles
    • Multi-Language Support
    • Security
    • Jobs
  • Off Topic
    • Pub
    • Dev Talk

Product Groups

  • Form Builder
  • ProFields
  • ProCache
  • ProMailer
  • Login Register Pro
  • ProDrafts
  • ListerPro
  • ProDevTools
  • Likes
  • Custom Development

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. Hello There PW folks. I have a few questions that i have thought about. First let me start with that my way of updating PW is me uploading the 'wire' directory from the ZIP file that i usally rename 'wire_3.0.x' and whatever number X is for the moment and on the server side just renaming that uploaded directory to 'wire' after i rename the current 'wire' directory the same way i did with the uploaded one, just in case i want to roll back (with a little headache). Now, i had the realisation that when doing this, i might not get any downloaded and installed modules to transfer over to the update directory when updating. Is this true ? And should i install modules in the 'site' directory under 'modules' there instead ?, could i just move currently installed modules in 'wire' to 'site' ? Or would that break things ? Do you see what i am trying to get at ? It sounds confusing i know, sorry if this seem like a stupid question. By the way, i rarely touch the '.htaccess' file in the PW root, how often should i check that for changes and include that in my upload ? I don´t want to mess with it to much because it often makes my PW install unhappy.
  2. In this post we had a small discussion about making PW more userfriendly(for new, non developer users) https://processwire.com/talk/topic/7184-lets-highlight-processwires-ability-to-be-an-enterprise-cms/page-2 Personally i think the technical details belong to another thread, so i opened one. When you install PW you got basic pages and nothing else at least from the view of a newcomer that is not a developer. What does a newcomer expect from something that is propagated as being better than WP? Basic pages whith more than body and titl. At least they need title, browser title, meta description, publish date controll, a main image, image uploadfield for images in the MCE editor, short text, long text(Tiny MCE), tags, optinally a small gallery for additional images(whith lightbox), an easy option for comments. A basic Blog/News system as news and blog can easily be used interchangeably. Image cropping on default image fields. Premade RSS feed. Premade sitemap. Premade search. A basic form module An Image gallery with mass upload, description,title, title tag, alt tag, fancybox option. A Template system for easy template change and an option for modules to link in Module installers that are able to deinstall a module completely.(for example the blog module does not) Site settings and maybe Template settings Simply install and go. The interesting part is that almost everything from this list is already there in PW. A few words about PW in general. Im my opinion PW is not a CMS, at least not now. Its a CMF whith an extra comfortable backend , and it really schould be advertised as that right now. Many of the stuff that pepole expect from a CMS is not present (installable templates, modules, calenders...) it has to be build by yourself. Even if thats pretty easy to do, its not click install and go. So its a framework and not a CMS. Ok, let's look at the reality of most CMS. Either they got far to many modules or they do not have enough modules. Many modules are unmaintained or broken or lack some important functionality. Often installation of any module or updating the CMS breaks a lot of things. even paid modules often come whith lots of problems inside plus you literally have to test hundreds of modules before you find a combination that is functional, compatible and affordable. So from this point of view PW is even better than any CMS, as almost all stuff is build with plain core functionality, but still its a framework not easy to understand by a user. So what do we need to make it a CMS? The keyword is standarisation. An user does not want 100 ways to make a news page, he exactly wants 1 way to do that. Its great if you easily add some fields but basically he just wants a news page. Standarisation does not need to take away freedom, it only allows to make components that interact in certain defined ways. Standarisation can never be perfect but it can help alot in interaction between different parts. If we look at PW templates there are endless ways to get the result you want so its almost impossible to make a module that creates at least a halfway decent looking default template for its functionality that links into the basic site structure. Would it be bad to create a standrard way for making templates that allows modules to link in ? Would it be bat to have a bunch of default modules that allow templatebuilders to produce templates that already have a well made formating at least for this few modules. You still have the option to do it the way you like, you can build your own stuff or just modify the existing stuff but in addition to that you now got the option of installing a few modules, buy a template, do a few modifications and you page is ready. So it even adds more freedom to the system not less. Lets take a look at WP. Most templates only support the basic blog and maybe a few modules. as soon as you start to install additional modules you either have to live whith an often ugly default output and often it fails completely. So you start modifying the template or even worse you need to modify the module. The next module update kills all your changes and you have to start over.... The fun starts if you have a bunch of modules that need modification . A big company called Templatemonster has a solution for that problem. They sell WP themes that are a complete installation bundled with all the necessary modules and all addons fully functional, but don't try to upgrade the WP system, simply don't do this. Maybe this is the perfect way for PW to make premade templates ? I guess not. You still run into trouble if you want to change the look of your page. But still it may be an idea to earn some money whith PW. at least i would pay for a nice installation package whith blog and gallery and a really nice modern template with some color, background and logo control in the backend. For the easy creation o something like that we would need an extended Profile Module that allows to store a complete page as an installlable Profile. Right now i had some trouble storing multilanguage support and pre generated user and a few other things. So i guess the best way would be to define a bunch of standard modules, define a default way to do templating and for interaction between modules and templates. More about that tomorrow(more technical details ), i need a bed right now
  3. The title says it all, I wonder: Is it possible to permit non-process-modules configurations for non superusers? I tried to set up permissions on a module (MarkupSEO) like I would on a process module - but it didn't work ...
  4. I have a pretty broad question about module development. At the moment I have a module (a webshop) which contains some template and class files, which the module will move into the relevant folders (site/templates and site/classes) on install. It will also create a few pages to create the initial page structure, as well as a Process that I place beneath the Admin page. Now imagine that a page with the "product" template contains a form that posts the product ID and a quantity to itself, or another page which then redirects the request. So far so good, that would work. I would like to make it so the module works "out of the box" with some bare-bones templates the developer can modify / style after install. What I am not so sure about is how I'd typically create inline interaction that works "out of the box". On most webshops, a user might click the "add to cart" button and then some Javascript fires, adding the product to the cart through an AJAX call. Now, I could make it so some file (let's call it _webshop.php) is prefixed to a template instead of _main.php, that ensures any Javascript I supply gets loaded on pages that have such interactions. But I am unsure what kind of Javascript to use for AJAX related stuff in the frontend. I would have no issues having the module copy a .JS file into the /template/scripts folder, but I'm unsure on how to structure the JS itself. I've developed apps with Vue3 and (in the olden days) AngularJS or jQuery, but I also see some AJAX interaction in ProcessWire's page tree. Whenever you click on a page that has children, I can see an URL gets called in the Network tab of Chrome's inspector. That means there must already be a methodology the backend uses. Looking at the <head> section of a backend page, I suspect this was done using JQuery. Here is an example url I plucked from the inspector. It's clearly a GET, whereas I would be using POST, but that's just a detail. /page/list/?id=1110&render=JSON&start=0&lang=0&open=undefined&mode=actions Now I am hesitant to use JQuery (as anyone used to Vue would, I reckon). I was wondering if anyone else has ideas on how to best implement frontend AJAX interactions for inline actions, when working in the context of a module? I've considered to write a Vue3 app and simpy have _webshop.php load Vue3 from a CDN, but this feels "messy" to me and not very self-contained. I would also want to prevent introducing a whole Javascript framework, especially when the existing codebase already includes a methodology for AJAX calls. I know this "question" is pretty vague, but I had hoped the community could push me in the right direction. Thank you for reading my post.
  5. I was previously using individual fields to capture and output multiple cards onto my web page but after recently learning about repeaters would prefer to use this field type, as it will be a lot more user friendly for end users to create new cards. I tried to modify my code to grab the fields from the new Repeater field(s) but am getting this error message on the page: Here is the code I'm currently trying to use for the cards: <?php // https://processwire.com/api/arrays/ // check if the array of images has items foreach($page->tall_card as $card) { $count = 0; $count++; $options = array( 'quality' => 70 ); $image = $card->image; $img = $card->image->size(550, 400, $options); $cardHeading = $card->title; $cardBody = $card->plain_paragraph; $raised = $card->raised_amount; $goal = $card->goal_amount; $link = $card->link; if ($raised == 0 ) : $percent = 0; else: $percent = $raised_amount / $goal_amount * 100; endif; if ($percent <= 5) : $percent = 0; endif; ?> <span id="card<?php echo $count?>" class="card"> <img class="cardThumb" src="<?php echo $img->url; ?>" alt="<?php echo $image->description; ?> Thumbnail" /> <div class="cardBody"> <div class="cardText"> <h2><?php echo $cardHeading; ?></h2> <?php echo $cardBody; ?> </div> <div class="progressBarSection"> <progress class="progressBar" id="progressbar<?php echo $count; ?>" value="<?php echo $percent; ?>" max="100"></progress> <span class="raisedAmount"> $<?php echo $raised; ?> usd </span> <span class="goalAmount"> $<?php echo $goal; ?> usd </span> </div> <div class="primaryBtn"> <a href="https://www.paypal.com/donate?hosted_button_id= <?php echo $link; ?> &source=url"> <button> <i class="fas fa-donate"></i> Donate </button> </a> </div> </div> </span> <?php } ?> Thanks in advance for any help!
  6. Hi everyone I´m creating an AdminTheme based on Semantic UI framework. Here is the beta version. I 'm fixing bugs. Github here Changelog: 0.0.1 --- Fixed background color / image.
  7. Hi there, I'm probably missing something simple, but I'm just setting up my first site so I guess that's bound to happen. I've installed the LoginRegistration module and at first I was thinking that the confirmation emails weren't being sent. However I now see that new user confirmation emails are taking 20+ minutes to arrive. Is there a way to speed this up? Also the email is coming from processwire@mydomain - I couldn't found a place to change this. Any advice or help would be great! Brian
  8. Hi all, I have noticed that LazyCorn seems to run maybe once or twice and then just stops. Has anybody else encountered this, I have the following within 2 different modules. public function init(){ $this->addHookAfter('ProcessModule::executeEdit', $this, 'configurableButtons'); wire()->addHook('LazyCron::every15Minutes', $this, 'autoGenerate'); } public function init(){ wire('forms')->addHookAfter('ProcessModule::executeEdit', $this, 'configurableButtons'); wire()->addHook('LazyCron::everyHour', $this, 'getExport'); } Does having multiple LazyCrons setup cause any issues?
  9. Hi friends, just 7 months ago, I was "just" a designer and a rather semi-developer, still struggling with WordPress sites and more often than not delegating that work to pros. ProcessWire really helped me realising that it's not that hard after all (well it's still hard but it's doable) and you learn a lot just by doing it which has to be true for all developers anyway. So I started coding myself, I might also have to thank the 2020 pandemic to help me focus a bit more than usual, I created a bunch of websites using PW already – one of which I can't wait to put on showcases but it's still not live yet. That is one big personal milestone for me. The next milestone would be to give something back, and so I'd like to take on contributing some code I wrote, namely a event calendar for anyone to use. It's my first attempt doing this so please don't eat me alive. It's not a PW module yet (that's the plan however) just a git but I'm positive it will be useful once it works – well it works but it still needs more work – because if I had found a module that came close I wouldn't have started coding it myself :D With that, I will appreciate all input, be it how to improve the .js (probably especially), or the templates, or guidance how to proceed turning this into a PW-module, and of course, in that last process, no pun intended, suggestions to make it more versatile for different needs. git: github.com/bbblgmsp/ProcessEventCalendar demo: http://foobar.roofaccess.org/events/ Thank you!
  10. Hi there, I am new to PW but already very convinced. I need to build a dropdown button to browse in a collection of authors by country and language. The dropdown should be editable in the BACK and displayed on the same as the authors collection. I tried my luck with "PageField Creator" but I don't know how to display the dropdown, I simply used: "$content .=$page->Land;" (the name of the select field) but nothing is displayed... I see there is a 2nd module out there to achieve this : "Select Options Fieldtype". I am not sure what is the difference, anyone has a tip? And a clear tutorial with the necessary steps to build this? I am a bit confused which should be the parent template or page, if it should have a file or not... Thanks a lot in advance!
  11. Hi there! I'm using ProcessWire 3 and I'd like to build a module that tabs into the ProcessPageView::execute hook. Currently I've built a small module that defines the hooking in its init() method as usual. public static function getModuleInfo() { return [ 'title' => 'MicrositeRouting', 'version' => 001, 'summary' => 'Routing logic for microsites', 'requires' => 'ProcessWire>=3.0.14', 'autoload' => 'template!=admin', 'singular' => true ]; } public function init() { $this->wire('log')->message(__METHOD__); $this->addHookBefore('ProcessPageView::execute', $this, 'lookUpPage'); } public function lookUpPage(HookEvent $event) { $this->wire('log')->message(__METHOD__); } I provided some log messages to check if the module works. But it seems that in spite of the module being initialized properly (the message is found in my logs), the hook itself isn't processed at all (the log doesn't show the corresponding message). I surely missed something important but currently can't find it. Thank you for any suggestions.
  12. ? PW Pros… I have some hooks that I need to bind at the init phase (or even __construct) and I was wondering, and I couldn't find a good and simple way to determine if I'm in the admin. Would be nice if there is a reliable short option to do so, but I can't seem to find one… Is there a coherent way to tell this no matter where I am? Right now, I use the following method inside one of my modules: public function isAdmin($page = null) { if ( strpos($this->input->url, $this->urls->admin) !== false || $this->process instanceof ProcessPageList || $this->process instanceof ProcessPageEdit || ($page instanceof Page && $page->rootParent->id == $this->config->adminRootPageID) ) { return true; } return false; } @ryan wouldn't it be nice to have something like wire()->isAdmin(); like wire()->user->isLoggedin(); to tell if we are in admin – very early on (probably even in __construct() phase of modules?
  13. Hi, is there something like that, or would you consider it useful? Maybe there's another way but I think it would be great. Since I tinkered around a bit with Jekyll (static site generator) I love the idea not depending on php or database acces for clients who don't want to change content that often (or even almost never). Still there would be the huge benefit of pw letting me organize the data in a very comfortable way, when finished, push a button an the site is output into a directory, ready to be used in a static way. Also if a client didn't pay for cms integration, they should not get it =) On a side note: I have so many initial questions, but I don't know if I should ask them each separately (better in my opinion) or all in one post. cheers
  14. Hi! Been doing some basic Twilio implementation for a client to enable them to automatically send text messages to registered users on page publish. As an upshot, I thought I would strip out the site specific work and stick up on github here: https://github.com/benbyford/TwilioChannels This modules pulls in the Twilio APi and enables you to send SMS messages from your front or backend. Send SMS message Truncate message to single message character limit Auto-select number from range of numbers depending on $To number country of origin–this enables you to send messages with a local number to that user if one added to the config. Templates usage: $twilio = $modules->get("TwilioChannels"); $twilio->sendSMS($toNumber, $message);
  15. What is the best practice for having a form (only accessible to a logged in user) save the user's progress between sections of the form? Fieldsets? Multiple forms? Use case: I have a very long application form that would take 30 minutes for the applicant to fill out and I would hate for all progress to be lost due to user error. The progress needs to be logged into the user's page. Thanks!
  16. I have a question about Multiple Site implementation, and how to possible "share" modules between them. First, required reading: https://processwire.com/api/modules/multi-site-support/ I'm dealing with Option #1. The way this works is that in the root directory of a site, there is an index.config.php file that denotes what domain is mapped to which site-*/ directory. The project I am working on has three site-*/ directories, each with their own site-*/modules/ directory. What has happened is that a lot of the modules from site to site are the same. I was wondering if there was any way to "share" modules between sites in the Multiple Site setup, via symlink or alias, or potentially if there was some roadmapped feature that @ryan has planned to solve this issue. Either way, any help/pointers would be appreciated!
  17. Hi, I have created a new install of Processwire 3.0.98, (local machine) and I am unable to install any modules from within Processwire itself. I go to Modules/Site/Add New/ then under "Module Class Name" I enter the name. The module appears, I hit "Download and Install", but I always get an error. For example: "File could not be downloaded (https://github.com/adrianbj/TracyDebugger/archive/master.zip) 2: fsockopen(): SSL operation failed with code 1. OpenSSL Error messages: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version, 2: fsockopen(): Failed to enable crypto, 2: fsockopen(): unable to connect to ssl://github.com:443 (Unknown error) (tried: curl, fopen, socket)" I have been able to track down some of the modules and just upload the zip file manually, but this is happening with every module that I had previously installed in another installation with no problems. Any ideas? Thanks!
  18. There are lots of great looking modules that I would like to use but I am hesitant to install them purely due to the lack of visual indication that they are compatible with PW v3+. Most of the ones I want to use say they are compatible with previous versions up to 2.7 so a few questions: Does this mean they are not compatible with v3 ? it would seem so since they lack the v3 tag If I try them and something doesn't work and I remove them are all traces removed or can they leave artifacts behind in the DB or filesystem? thanks in advance
  19. I am new to PW and I am starting to like it but it is somehow hard to navigate in backend and to search for compatible modules. May I make a suggestion? When I am here: https://modules.processwire.com/authors/soma/ it would have been nice to be able to browse modules by compatibility version if I need to browse only those compatible with v3.x
  20. Thought I's try SystemNotifications and found it over kill as I would get alot of warnings, changes and errors appearing and persisting which was scaring my client. But now I'm unable to uninstall it without getting errors on the user edit page saying it requires a module that doesnt exsist any more... anyone had this issue or can recommend how to use this module correctly?
  21. Hey, I'm working around a module that adds pages in my ProcessWire installation. The pages are added based on a JSON array that will be imported through a page save. Everything works fine except for when the pages are added. I get the following error Integrity constraint violation: 1062 Duplicate entry '3e215ecd6774fd99c2b0eb5cadf36a07-1269' for key 'name_parent_id' I'm using the following code/loop to generate the pages. // Loop through the files foreach ($p->importFile as $file) { // Set the file location $name = $file->data["basename"]; $path = $p->importFile->path; $location = $path . $name; // Get the file $json = file_get_contents($location); $json = json_decode($json); // Loop through the rows of the import foreach ($json->ttEntityDelAddrLink as $client) { // Create new page $new = new Page(); // Create unique hash $unique = md5(date("Y-m-d H:i:s") . "-" . $client->CustomerCode); // Set some variables for the new page $new->setOutputFormatting(false); $new->template = "_client"; $new->parent = $p; // Create hash $new->title = $client->DelAddressName; $new->name = $unique; // Page specific fields $new->company = $client->DelAddressName; $new->companyId = $client->CustomerCode; $new->city = $client->DelAddressCity; $new->address = $client->DelAddressStreet; $new->postcode = $client->DelAddressZipCode; $new->country = $countries[$client->DelAddressCountryCode]; // Save the page $new->save(); } // Exit for debugging exit; } Does anybody know what's wrong?
  22. HELLO! Thought of a super interesting module and wondered if anyone had created it or not, and some feedback on the idea. New page field defaults - on creating a new child page, you choose a template and page title and click submit -> the resulting page is prepopulated with content dependent on the template you chose. Not sure about implmentation yet just thought was an interesting idea.
  23. Hi all, I just released my first module on github called Template Data Providers. This module lets you create simple data provider classes for templates and chunks (a.k.a. partials, blocks, includes, ...) to gather and prepare data for templates and/or handling form data and other actions outside of the templates ("separation of concerns"). But even if you've installed the module the usage of the new functionality is merely optional. You may define your simple templates and chunks as usuals, adding custom classes (PageDataProvider for pages/templates, ChunkDataProvider for chunks) for more complex data handling on demand. I provided detailed instructions in the README.md and encourage you to read it for further information. Just some sample code here: Defining a data provider for a home template: class HomePage extends \nw\DataProviders\PageDataProvider { public function populate() { $this->foo = 'bar'; // definevariable $foo to use within the page's template $this->page->foo = 'baz'; // provides page member $page->foo to use within the page's template } } Calling a chunk from within a template: $page->renderChunk('path/to/primary-navigation.php'); // relative to site/templates/ Calling a chunk providing contextual data: $news = $pages->get('template=news'); foreach ($news as $newsItem) { $page->renderChunk('path/to/news-item.php', $newsItem); // additional arguments provided will be avaiable within the chunk in a closed scope } Defining an example chunk data provider: class ExampleChunk extends \nw\DataProviders\ChunkDataProvider { public function setContext(array $context = array()) { // store first context argument in $this->foo $this->foo = isset($context[0]) ? $context[0] : null; // store second context argument in $this->bar if instance of \Page $this->bar = null; if (isset($context[1]) && $context[1] instanceof \Page) { $this->bar = $context[1]; } } public function populate() { $this->foo = 'bar'; // provides variable $foo to use within the chunk } } Please leave your questions, remarks, error reports here in the forum or at github and I'll try to answer as soon as possible. This module is a preparation for another module coming soon. This will be an alternative Twig template engine module that will interact with Template Data Providers or could be used as stonde-alone module. Regards from Hanover/Germany, Marco
  24. Hey guys, whenever i install a new modul it works but when i want to go in the settings of the module i get an error: ProcessWire 3.0.72
  25. Hello, Does anyone know whether the is a place detailing the structure your admin theme should take when creating one? e.g. I see UiKit, Reno and Default admin themes all have default.php, init.php, controller.php files, is this a stylisitic choice or a prerequisite for any admin theme module? Thanks!
×
×
  • Create New...