Search the Community

Showing results for tags 'modules'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • 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

Found 61 results

  1. 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 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
  2. 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
  3. I have a question about Multiple Site implementation, and how to possible "share" modules between them. First, required reading: 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!
  4. 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!
  5. Currently working on a premium module and I would love to be able to sell it through the PW store (currently not possible) and maybe have the store handle code creation.
  6. I installed the InputfieldCKEditor module and am using the ck editor in all of the fields on my processwire website. I need to be able to drag images into the CKEditor field so I downloaded a CKEditor plugin called simpleuploads put it into /site/modules/InputfieldCKEditor/plugins/ and added the plugin to the field I am working on. I have tried doing it many different ways and the plugins still are not working and I have no idea where to go from here. I am working with processwire version 3.0.61. I am using CKEditor version 4.4.2.
  7. I have a PW page that is about 2 - 3 Years old . After an upgrade to Version 2.6 all Pages and modules where gone in Admin backend. As i had no time to look after the page i left it like it was for quite a while. Now that i needed to get the Page online again i searched whith google anf fount that i should upgrade the page to PW 2.7.3 As the Upgrade to 2.6 was done in a hurry , its perfectly possible that i accidentallly upgraded from 2.0 to 2.6. Please have a look at the images to see the desaster in full color ....
  8. Greetings to all processwire fans, I am new in processwire and I have used it since 3 weeks. Probably it's a really silly question but does someone now how I can execute a function in my own module, which is triggered when I save a pages, which contains a user-defined template. I tried to to this with an basic if/else condition to trigger the hook when the page has theTemplateName== "". Unfortunately it doesn't work. So I try this which might be the wrong Syntax. Perhaps someone can give me a hint THANKS a lot! public function init() { // add a hook after the $pages->save, to issue a notice every time a page is saved $this->page->template == "templateName"->addHookAfter('save', $this, 'example1'); }
  9. The modules directory on also has a PW compatible version info added. Since this is an official directory, I urge every modules developer to update their modules with that info (and first test your module in 2.2 2.3 etc.) Since there's a new option added for each PW version, this has to be done by the module developer. There's people browsing this directory and don't know that this info is not up to date for most modules and think it's not compatible with 2.3! Thanks for your time! Soma
  10. 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 ...
  11. Hi, I working on auser module and have recently got this error when trying to delete a user: Error: Exception: You do not have permission to execute this module - ProcessPageView this only happens when accessing the user->delete function as the below within my module. Anyone happen to know why that may be? // @string $user = name field public function deleteUser($user){ $u = $this->users->get($user); if($u->id) { $this->users->delete($u); } } similar to this error i believe:
  12. Hi, I have several questions about modules: Where are modules settings saved? In the database? If yes, in which table? Where are modules fields saved? Again, in the database? If I were to git control my website, should I ignore modules folder?
  13. How would one pass a variable set in one module to another module via a Hook? e.g. module 1. public function ___saveUser($vars){ $userSaved = true } module 2 public function init() { $this->addHookAfter('module1::saveUser', $this, 'userSaved'); } public function userSaved($e){ $userSaved = $e->userSaved; return $userSaved; // true? }
  14. Attempting to download AdoptDefaultsFromParents (or any module) in PW3 admin produces the following slew of errors: The site/modules permissions = 755, allow_url_fopen & curl = on. How could this be? Why doesn't the download URL come through properly? I sorely miss the splendid convenience of this capability.
  15. 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.
  16. Would anyone here be able and inspired to develop a ProcessWire equivalent to the WordPress plugin WP All Import Pro? or to help me do so? This is what I'm envisioning... Upon installation the module creates an admin page titled "Import & Update". On the module config page you can specify allowed templates to run this on, otherwise allowing any. Include the following PHP libraries: hQuery for web scraping, Csv for CSV handling, and Parser for XML. Create template "import-update". On the "Import & Update" page, a list of current import/updaters will be displayed (0 initially), each with corresponding links to "edit" or "run". When you "Add New", this be the "import-update" template (with all module-specific fields tagged "impupd"): title destination (req.): parent, template source (req.): type (web, csv, xml) location (url, file, text) if web: opt. index URL & link selector, + paginator selector if csv: opt. ignore 1st row if xml: req. individual item node xpath actions (check): import (if none matching UID) update (if matching UID & field values differ) save() [req. here in flow] map (repeater): input (select fields from specified template to affect) intake (corresponding DOM selectors / CSV col. letters/headers / xpath per field) (req.) UID (unique ID; field reference to compare against, from selected input fields) (req.) Lazy Cron interval Scripts can be run via the import-update template; keep logs; show preview (iframe/ajax) for manual runs. ...
  17. While looking for a way to add target="_blank" to markdown formatted fields I came across these little gems in the TextformatterMarkdownExtra.module (in the wire>modules>textformatter folder, I'm running v3.0.33). Turns out someone (Ryan? Did you add this?) already thought of it: /** * A couple RCD extentions to MarkDown syntax, to be executed after Markdown has already had it's way with the text */ protected function markdownExtensions(&$str) { // add id attribute to a tag, when followed by a #myid if(strpos($str, '>#')) $str = preg_replace('/<([a-z][a-z0-9]*)([^>]*>.*?)(<\/\\1>)#([a-z][-_a-z0-9]*)\b/', '<$1 id="$4"$2$3', $str); // add class attribute to tag when followed by a .myclass if(strpos($str, '>.')) $str = preg_replace('/<([a-z][a-z0-9]*)([^>]*>.*?)(<\/\\1>)\.([a-z][-_a-z0-9]*)\b/', '<$1 class="$4"$2$3', $str); // href links open in new window when followed by a plus sign, i.e. [google]( if(strpos($str, '</a>+')) $str = preg_replace('/<a ([^>]+>.+?<\/a>)\+/', '<a target="_blank" $1', $str); // strip out comments // if(strpos($text, '/*') !== false) $text = preg_replace('{/\*.*?\*/}s', '', $text); // if(strpos($text, '//') !== false) $text = preg_replace('{^//.*$}m', '', $text); } Adding: $f->addOption(self::flavorRCD, 'RCD extentions'); after line 107 of the file, adds an option field which you can handily check from the module's config screen in the admin. Now, the question I should have asked before doing this is: Does changing that have any detrimental effect on things I don't know about yet? : ) Would be great if someone with actual knowledge on this could chime in before I shoot myself in the foot (There must be a reason why this is not active by default?) Cheers guys! Phil
  18. I'm looking to do a specific type of module. I want to use the field-typemulti fieldtype. So what I want to accomplish is the first field part stores a category (movies, books, etc.). The Second input field would need to be an AJAX lookup that would let me choose the ID of that book so I can take it and save it into my post. So let's just say the thing I'm pulling from is IMDB, I'll choose the movie category, then On the lookup get a list of movies based on a search. IF you can point me and help me out with this i'd greatly appreciate it!
  19. I've just updated a site from version 2.7.1 to 2.7.2. This worked fine locally, but when I repeated the process on the staging site, I get a list of errors when I log in to the admin control panel. They're all begin with: Modules: Configurable module check failed for FieldtypePage, retrying... I've attached a screenshot of the full list. The site/assets/logs/modules.txt file shows similar warnings. But the site seems to work fine otherwise. Does anyone know what might be going on here and how it could be resolved? Many thanks!
  20. Hello. Im looking to start making modules and found alot of great resources. I was wondering if there was some i might have missed from the below and whether the was somewhere I could see all the functions and variables available to me as a module dev. i.e. What other messages can i send? $this->message("my message"); $this->error("my error message"); etc...?
  21. 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.
  22. Hello I have a strange issue When an user (not admin) try to insert an image on page via CKeditor or TinyMCE editor poup, he get an error: Modules: Module ProcessPageEditImageSelect failed init - You do not have access to images on this page Any ideas? Thanks very much piero
  23. Hi, I have been running a processwire based film magazine for more than 3 years now. The resources are wonderful, and the forums are full of information so much so that I did not have to ask a single question during the design process or later. I just added it in the showcase section when the site was done. But in the last week I have been facing some real trouble and the forums dont seem to have anything related. The problem; Once in the admin section, I cannot publish any new content, pages that have some exisiting content, dont accept anything. If I wish to update module settings/ install or uninstall any new module, it does not work either. Every click on any button meant to achieve something in the admin leads to a 404 error in the front end. It started from one page but now nothing would change in the admin, it feels like it has become a hard ball of metal which would just not move. The attempts; 1. I upgraded the entire installation, thinking it was due to the outdated version. I am running the latest stable, 2.7.2, php version 5.6 2. I turned on the debug in config.php, it threw some notices and warnings, have fixed all barring one, where imagesize wants another variable, it hasnt created any issue in the past. 3. I cleared up all caches using the filemanager, removing cache files. Since the backend will not let me purge caches, I had to use the file manager. 4. I cleared the cache table from the phpmyadmin. 5. ProcessImageMinimize was throwing up errors, so I removed the calls from the template and deleted the module using file manager. 6. Saw some suggestion about the .htaccess rules, played around and nothing worked, however the .htaccess is being duly read and used by the server. I am out of options and having to stall the latest issue of our magazine, would really appreciate some quick help on what else I could try, possible solutions etc. I hope I have described the problem sufficiently, but if you need any more details, please ask. Best.
  24. Hi everyone! Although I've set up a couple of sites using Processwire now, I still run into typical 'Getting Started' errors - and I figured this is yet another one... On the previous site I built (locally and on a server) I had no problems with modules (downloaded them, placed them in the folder, installed, worked) but this time around two of the modules I want to use are not working. I'm using a textarea with Markdown (Parsedown Extra to be more precise - which works fine), but on the same textarea fields I want to use both the TextFormatterVideoEmbed (for YouTube & Vimeo) and the ImageTags (for embedding from the images field on the same page) Current situation for: VideoEmbed – Link is shown as link. ImageTags - Throws the following error Notice: Array to string conversion in ../site/modules/ImageTags/TextformatterImageTags.module on line 20 Should I use a different version of Markdown? (Haven't tried that - just realised it while typing this post...) I have the feeling I might be overlooking something really obvious, but I can't put my finger on it. Suggestions? Tips? Cheers!
  25. Hi everybody! I'm trying to figure out how to do what is mentioned into the title but I'm stuck into this issue and can't get a valid idea, still Let me to explain better what I'm looking for. I've seen some module (and I can't remember the name ) that asks to the user to fill a field and save the data before to come back to the module settings with other fields enabled and (maybe) pre-compiled using the previously filled field. What I'm trying to do is to make a module using the new PW 2.5.x syntax (the one which separates the module from its configuration via <module_name>Config.php file) that at installation time asks the user to select from the available templates, then submit the choice. Once submitted, the module should provide more setting fields based on the previously choosen template. It would be a great help if someone could help me to figure it out and/or point me at some module which implements this kind of logic. Thanks in advance!