Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/10/2022 in all areas

  1. Hi, welcome to the forums! ProcessWire is very mobile friendly. I can only speak about the Default theme, which works flawlessly on a phone. I’m sure the other stock themes work similarly well or even better. However, it’s your responsibility to make the actual public site you build with ProcessWire mobile friendly yourself. ProcessWire won’t get in the way of doing that, because it doesn’t come with any assumptions about your frontend. I’m not sure I fully understand your question here. There is nothing wrong with setting up links to a separate shop system and ProcessWire will definitely work well for you there, but if you’re planning on building your own web shop, check out Padloper 2:
    2 points
  2. Yep, perfect, thanks! Just to spell it out for any future readers... if($session->tracyUserSwitcherId) { // Run this code only if browsing via User Switcher //... }
    2 points
  3. GitHub: https://github.com/adrianbj/ProcessMigrator This module has gone through lots of iterations with lots of new functionality each time. It is now a fully fledged content migration tool. *** Please be sure to read the GitHub ReadMe to find out what it can do now as most of the posts in this thread are no longer correct regarding its functionality Once it is release worthy, I'll create a fresh thread with all the details. This modules allows export, sharing, and import of page lists via JSON files. It takes care of replicating all the pages, as well as creating any templates and fields that are needed. I have defined "Page Lists" as page trees (parent and children) that store selector values for a Page fieldtype. An example would be a list of countries that would be used to populate a countries drop-down select field. The fields might include: Country Name, 2-digit code, 3-digit code, number code. I would like to suggest a place where we can post json files to be shared and updated - maybe a dedicated github repository? Start of a repo of lists ready to import is now available: https://github.com/adrianbj/ProcessWirePageLists It might handle migrating other simple pages trees as well, but it should not be considered a tool for migrating general pages as it does not handle associated files, nor does it handle fields which store arrays. Probably lots of other things it doesn't handle either It now handles migrating all (I think) field types, including repeater fields, page fields, all Profields fields, multi-language versions of fields etc. The only omission is the actual uploaded files and images in file/image fields. WARNING: This should be considered an Alpha module - please don't use this on a live site at the moment and be sure to back everything up before testing. Would appreciate any feedback on the concept, the code, and the idea of a shared and community edited resource of these files. Also, would love to hear what page lists would be good to share. Here are a few quick ideas: States (separate files for each country) Measurement units Languages Religions Race Academic subjects (chemistry, biology etc) Publication types (book, journal article, newspaper article, newsletter, thesis etc) Car makes and models Anyone have a better idea for a name, or how to better describe "Page Lists"?
    1 point
  4. https://methodsanalytics.co.uk/ What makes this project cool: We integrated an impossible geometry concept using 3D, Three.JS - Shown in main concept and used for Error 404 concept. We allow the client to create impossible geomerty in the ProcessWire CMS. We created the 3D editor which loads in with a process module. Custom front-end design and UI and full content management across evey aspect of the site. Modular system for page content providing maximum flexibility on page construction. Health check feature looking for broken links and lorem ipsum, page scanning tool. SEO module with global editing section across all pages. Global shared content modules. Methods-Analytics.mp4
    1 point
  5. v1.13.5 adds notes about installed profiles thx to issue report from @wbmnfktr
    1 point
  6. Thx @wbmnfktr the issue is fixed in version 1.13.3 I've also added the first WIP version of seo support ? <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <?= $rockfrontend->seo() ->title("{$page->title} | My Company") ->description(function($page) { if($page->template == 'foo') return $page->foo; return $page->body; }) ->setValue('og:image', function($page) { if($page->template == 'boat') return $page->boatpic; return $page->images; }) ?> </head> Tags can easily be set and truncation is as easy as adding an integer to the tag {value:160}
    1 point
  7. Tried it again within a fresh ProcessWire instance and the most recent version of RockFrontend from Github. Installs without any issues. Doesn't even mention RockMigration anymore. Thanks! Edit: Another thing pops up now. Opened an issue on Github for it.
    1 point
  8. You can just edit the first post and prefix the topic with [solved] ?
    1 point
  9. Is it possible you may be using markup regions? https://processwire.com/docs/front-end/output/markup-regions/ This might explain why it works when you put your code within <div id="content"> ... </div> If you open the _main.php file, can you find the word 'default' in there?
    1 point
  10. <?php namespace ProcessWire; class Hello extends WireData implements Module { public static function getModuleInfo() { return [ 'title' => 'Hello', 'version' => '0.0.1', 'summary' => 'Your module description', 'autoload' => true, 'singular' => false, 'icon' => 'smile-o', 'requires' => [], 'installs' => [], ]; } } Voila - that's a working module without fieldgroups! Here an example without using RockMigrations (I'm so happy I've not had to do this for a very long time...): <?php namespace ProcessWire; class Hello extends WireData implements Module { const name = 'hello'; public static function getModuleInfo() { return [ 'title' => 'Hello', 'version' => '0.0.1', 'summary' => 'Your module description', 'autoload' => false, 'singular' => true, 'icon' => 'smile-o', 'requires' => [], 'installs' => [], ]; } public function ___install() { // create new fieldgroup $fg = $this->wire(new Fieldgroup()); $fg->name = self::name; $fg->save(); // create new template $t = $this->wire(new Template()); $t->name = self::name; $t->fieldgroup = $fg; $t->save(); // create field $f = $this->wire(new Field()); $f->type = 'text'; $f->name = self::name; $f->save(); // add field to template $fg->add($f); $fg->save(); } public function ___uninstall() { // delete template and fieldgroup $tpl = $this->wire->templates->get(self::name); if($tpl) { $this->wire->templates->delete($tpl); $this->wire->fieldgroups->delete($tpl->fieldgroup); } // delete field $this->wire->fields->delete($this->wire->fields->get(self::name)); } } And using RockMigrations: <?php namespace ProcessWire; class Hello extends WireData implements Module { const name = 'hello'; public static function getModuleInfo() { return [ 'title' => 'Hello', 'version' => '0.0.1', 'summary' => 'Your module description', 'autoload' => false, 'singular' => true, 'icon' => 'smile-o', 'requires' => [ 'RockMigrations>=0.13.3', ], 'installs' => [], ]; } public function init() { /** @var RockMigrations $rm */ $rm = $this->wire->modules->get('RockMigrations'); $rm->watch($this); } public function migrate() { /** @var RockMigrations $rm */ $rm = $this->wire->modules->get('RockMigrations'); $rm->createField(self::name, 'text', ['label' => 'Your field label']); $rm->createTemplate(self::name); $rm->addFieldToTemplate('title', self::name); $rm->addFieldToTemplate(self::name, self::name); } public function ___install() { $this->migrate(); } public function ___uninstall() { /** @var RockMigrations $rm */ $rm = $this->wire->modules->get('RockMigrations'); $rm->deleteTemplate(self::name); $rm->deleteField(self::name); } } When not using RockMigrations you need to be very careful with everything you do. It throws errors all the time if something does not exist what you are trying to remove/delete or it throws errors if somethings exists that you are trying to create... It throws errors if the execution order is not correct. It throws errors if you try to delete a template that is used by at least one page, etc etc... RockMigrations takes care of all those things so that you can focus on what you want to do. And you don't need to always install/uninstall your module while developing. Refreshing your browser will fire the new migrations. RockFrontend can even take care of that as well... ?‍♂️ You're welcome: https://github.com/sponsors/baumrock
    1 point
  11. Hi @Spinbox, Apologies for that and thanks for reporting. Fixed (but retained version 004). Please download again and try. Thanks.
    1 point
  12. Hi @kongondo, I still have this problem (on 004) whenever I return from a paypal payment to confirmation in PadloperProcessOrder.php:2090; $this->padloper->createDownloadCodesForOrder($order, $orderLineItems);
    1 point
  13. Oh, sorry - long day :) There is the $session->tracyUserSwitcherId which is set whenever a user switcher session is active. Does that help?
    1 point
  14. Sorry, I was a bit terse. To be clear, I meant storing your custom path in the $config->paths object, somewhat like this: // config.php (or init.php) $config->paths->set('home_sidebar_timeline', $includes_path . 'home_sidebar_timeline.php'); Then you should be able to get it from anywhere anywhere like this: include $config->paths->home_sidebar_timeline; //or include $config->paths->get('home_sidebar_timeline');
    1 point
  15. I imagine global variables might work, but I would probably but it into $config->paths: https://processwire.com/api/ref/paths/
    1 point
  16. Great new module! Love it! I would also love to extend this module (or have a similar one) to export / import translations for fields' labels / descriptions / notes with per template override support + templates labels. That would make the translation workflow more complete and easy for sites with many languages. @ryan, doesn't your customer accidentally have this need too? ?
    1 point
  17. Yes, webp only is an output format, not a source image or master image format. If you want to use only webp as original image and output image (WITHOUT resize methods) you can use it within a files field. Within image fields is not supported and doesn't make much sense.
    1 point
  18. In case anyone else* (*so that would be the future me then, when I've forgotten o_O) wants to know how to do this, I worked it out, it's probably in the docs but for the life of me I could not find it (sorry doc writers). You have a hanna code called my_hanna_snippet and you want to output it from within a template, not from the Admin i/f. $hanna = $modules->get('TextformatterHannaCode'); echo $hanna->render("[[my_hanna_snippet]]"); Hope this helps someone/me in the future
    1 point
  19. @szabesz I am pretty sure the docs don't say "We can just provide the hanna code itself", I saw that part of the docs and was looking for that exact type of phrase, but even though I couldn't find that, it was enough for my trial and error to work it out, so all's well that ends well
    1 point
×
×
  • Create New...