Jump to content
adrian

Batch Child Editor

Recommended Posts

Hi @adrian

Thank you for the module.

Just faced a little problem. Option "Remove children tab" does not respect settings from "Where editing tools are available and separately configurable" section. 
It looks like not very  expected behavior? It took me sometime to figure out where is my children tab escaped))
Ideally it would be if we have separate restriction setting for this option.

Share this post


Link to post
Share on other sites

@Zeka - it seems to be working fine here - would you mind posting some screenshots of the relevant settings pages and then the appearance (or lack of) the children tab as you would expect.

Thanks!

Share this post


Link to post
Share on other sites

@adrian I'm sorry if i wasn't clear enough.

Here are some screenshots of my config 

Screenshot_10.jpg

So as you can see I enabled BCE for one template and one page ( actually it's the same page).

 Screenshot_11.jpg

Here I set to hide children tab and place BCE in new tab. I expected that it would affect only page from previous screenshot, but children tab was removed from all templates

Share this post


Link to post
Share on other sites

@Zeka - can you confirm that the settings in the second screenshot are from the Settings tab of the page you selected under "Configurable pages" and not just on the main settings page for BCE?

You should be editing the page specific settings like below. As much as AOS's tooltip feature is nice for cleaning up field entry, it has likely prevented you from seeing the notes about this when you selected the Configurable pages.

Screen Shot 2016-11-12 at 5.13.14 AM.png

Share this post


Link to post
Share on other sites
On 2016-11-02 at 9:08 PM, adrian said:

Sorry I forgot about this part of your message. 

I have just added support for this, along with the ability to import page fields with multiple values (by title). Note that you can adjust the separator for multiple pages (eg authors in your example, although I think you may not make use of the multiple option).

Please let me know how this goes for you - it hasn't been well tested and there is quite a bit going to support all this.

 

OMG! :o It's just so wonderful! It works perfectly.

Thanks so much!

  • Like 1

Share this post


Link to post
Share on other sites

A quick question. Before I try all ways around, is it possible to import file/image using BCE?

Share this post


Link to post
Share on other sites
45 minutes ago, mel47 said:

A quick question. Before I try all ways around, is it possible to import file/image using BCE?

Currently no, but would be fairly easy to add. The catch of course is that the CSV you are importing would need the full path / url to each image. Also, if you wanted description and tags, then it would have to make use of the field pairings setup so you could define the subfields, like image.description and image.tags

Would this work for you, or were you looking for something else?

Share this post


Link to post
Share on other sites

@mel47 it's really easy to write any kind of custom import script so there are no limits

 

maybe thats of interest to you ;)

  • Like 1

Share this post


Link to post
Share on other sites

@adrian : To me, only image will be sufficient. Anyway description would probably page's title, so it's not so necessary.

@bernhard : I have no doubt... But unfortunately, as I spend 1hour just to find the good selector or the good loop, I can't imagine how I can write a script, mostly for a one-time import. Not sure it worth, adding images manually will probably take less time...

  • Like 1

Share this post


Link to post
Share on other sites
20 hours ago, mel47 said:

@adrian : To me, only image will be sufficient. Anyway description would probably page's title, so it's not so necessary.

Ok, the new version supports adding files and images. It works in both standard and field pairings modes. I haven't added support for descriptions/tags yet - will wait to see if anyone has the need.

It should work for local server paths to files/images, as well as remote urls.

Please test and let me know if you have any problems. 

  • Like 3

Share this post


Link to post
Share on other sites

OMG, again... :)

I will be soon without words to express my gratitude! It works fine. I just get a really big red error, but it was my fault, a malformed path. After correction, all images imported correctly.

Thanks again!

  • Like 1

Share this post


Link to post
Share on other sites

First of all: Thank you for providing this awesome module! It seems to be a whole toolbox - the horn of plenty for page editors, so to say!

Just installed BCE 1.4.4 on PW 2.8.35 on a test site. All looked great and shiny, but then I ran into a problem:

I prepared a page with local BCE settings for updating it's 4000+ children. I have defined field pairings just with title and another text field to keep things simple in the beginning. A single line of CSV like Helium,He serves as the input. Thouugh, when I hit Save to start the update I am constantly getting:

Warning: Creating default object from empty value in /home/.../public_html/site/modules/BatchChildEditor/BatchChildEditor.module on line 1321

Fatal error: Call to undefined method stdClass::isChanged() in /home/.../public_html/site/modules/BatchChildEditor/BatchChildEditor.module on line 1322

Any ideas what could be wrong?

Share this post


Link to post
Share on other sites

Hi @HerTha - thanks for the report. I am having trouble reproducing here at the moment. Any chance you could give me access to the site to test? If not, could you help me figure out why $np is not being set properly. Line 1311 is where that should be happening. Not sure your level of debugging skills, but any chance you could take a look and find out what $np is being set to there. And if nothing, check the $value of $x for me.

This shouldn't be hard to fix, but until I can reproduce it might be tricky.

Perhaps it also might help if you post your csv import settings. 

 

  • Like 1

Share this post


Link to post
Share on other sites

Feel uncomfortable to ask something else, I already did so many times... But does it will be possible to mix actions "lister" and "edit"? I need to hidden some pages, but it will be so much easier if I could filter them and then selected all to hide.

Thanks again so much...

Share this post


Link to post
Share on other sites
1 minute ago, mel47 said:

Feel uncomfortable to ask something else, I already did so many times... But does it will be possible to mix actions "lister" and "edit"? I need to hidden some pages, but it will be so much easier if I could filter them and then selected all to hide.

Thanks again so much...

Your easiest option might be to install @tpr's AdminOnSteroids module. It adds a filter box to the top of the edit view in BCE. Take a look at his screencast here:

Another option, would be to use the "Page Manipulator" action in my new Admin Actions module that will let you use the selector field type that is used in Lister to filter pages and then delete all matches:

Screen Shot 2016-12-03 at 5.17.10 PM.png


Would that work for you?

  • Like 1

Share this post


Link to post
Share on other sites

Hi folks, short question: is it possible to rename/translate the mode names (see screenshot)? I used the german translation from Manfred62, but wasn't able to find these strings...  #-)

Bildschirmfoto 2016-12-06 um 13.27.59.png

Share this post


Link to post
Share on other sites
8 hours ago, titanium said:

Hi folks, short question: is it possible to rename/translate the mode names (see screenshot)? I used the german translation from Manfred62, but wasn't able to find these strings...  #-)

Bildschirmfoto 2016-12-06 um 13.27.59.png

The version I just committed makes those (and lots of other config settings option) translatable.

OT - this version also includes lots of new options for adding/updating/overwriting images when importing a CSV file.

  • Like 2

Share this post


Link to post
Share on other sites
23 hours ago, adrian said:

The version I just committed makes those (and lots of other config settings option) translatable.

Great Adrian, thanks for the great and responsive support, it's much appreciated :-)

Tested it out... maybe it's just me... The setting dialogs of the module edit screen are translated now (see screenshot below) - great! But I think the translation is not reflected yet on the normal content pages where the module does it's magic - there it still shows up like in my screeshot above.

Bildschirmfoto 2016-12-07 um 21.20.29.png

  • Like 1

Share this post


Link to post
Share on other sites

Ah yes - try the latest version - those should also now be translatable. 

Sorry, in a rush, but hopefully that will work. Perhaps I can improve things in the future - I honestly haven't played around with module translations at all :)

  • Like 2

Share this post


Link to post
Share on other sites
2 hours ago, adrian said:

Ah yes - try the latest version - those should also now be translatable. 

Yes, that version works like a charm! All entries are translatable now. Fantastic :)

  • Like 2

Share this post


Link to post
Share on other sites

Again me... I have a problem I couldn't understand. I created my CSV file with " " in each column :

"Article in Metabolic Brain Disease-Bosoi-2009";;"Accepted article";"Publication";2008-12-29 18:12:48;;"<p>Latest paper was published in Metab Brain Disease</p>";"<p>Latest paper was published online December 23<sup>rd</sup>.</p>";;;"Bosoi et al.-2009-MetabBrainDis"

The last field is Page. Everything imports fine (no error), but last field is imported as

Bosoi et al.-2009-MetabBrainDis"

Why it keeps this extra " ?

Thanks

Melanie

Share this post


Link to post
Share on other sites

Hi @mel47 - are you running the latest version of BCE? I did tweak some thing recently on this front - I believe it has to do with no EOL character, but I am now adding that so I think this shouldn't happen anymore. 

If you are running the latest version and still having problems I'll try to look into it shortly. Are you pasting the CSV, or importing from a file? Does it makes a difference using one way or the other?

Share this post


Link to post
Share on other sites

Version 1.4.9

You're right. Pasting CSV doesn't work but uploading file works.

Share this post


Link to post
Share on other sites

That's strange... I had the same problem with the version 1.4.1(?) but now my version is 1.4.7 and I paste my CSV and it works perfectly. I save my CSV with \r\n at the lines end.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By d'Hinnisdaël
      Happy new year, everybody 🥬
      I've been sitting on this Dashboard module I made for a client and finally came around to cleaning it up and releasing it to the wider public. This is how it looks.
      ProcessWire Dashboard

      If anyone is interested in trying this out, please go ahead! I'd love to get some feedback on it. If this proves useful and survives some real-world testing, I'll add this to the module directory.
      Download
      You can find the latest release on Github.
      Documentation
      Check out the documentation to get started. This is where you'll find information about included panel types and configuration options.
      Custom Panels
      My goal was to make it really simple to create custom panels. The easiest way to do that is to use the panel type template and have it render a file in your templates folder. This might be enough for 80% of all use cases. For anything more complex (FormBuilder submissions? Comments? Live chat?), you can add new panel types by creating modules that extend the DashboardPanel base class. Check out the documentation on custom panels or take a look at the HelloWorld panel to get started. I'm happy to merge any user-created modules into the main repo if they might be useful to more than a few people.
       Disclaimer
      This is a pre-release version. Please treat it as such — don't install it on production sites. Just making sure 🍇
      Roadmap
      These are the things I'm looking to implement myself at some point. The wishlist is a lot longer, but those are the 80/20 items that I probably won't regret spending time on.
      Improve documentation & add examples ⚙️ Panel types Google Analytics ⚙️ Add new page  🔥 Drafts 🔥 At a glance / Page counter 404s  Layout options Render multiple tabs per panel panel groups with heading and spacing between ✅ panel wrappers as grid item (e.g. stacked notices) ✅ Admin themes support AdminThemeReno and AdminThemeDefault ✅ Shortcuts panel add a table layout with icon, title & summary ✅ Chart panel add default styles for common chart types ✅ load chart data from JS file (currently passed as PHP array) Collection panel support image columns ✅ add buttons: view all & add new ✅
    • By Pip
      Hi everyone!
      I'm trying out the Login/Register module for my site. Noted that the module assigns the newly registered user to login-register role. 
      Once you modify the login-register role's permissions, particularly adding page-edit, the new member role will be set to guest. 
      Thing is I'd like to grant my new users the power to create their own pages. Any advice? 
      Thanks. 
    • By Gadgetto
      SnipWire - Snipcart integration for ProcessWire
      Snipcart is a powerful 3rd party, developer-first HTML/JavaScript shopping cart platform. SnipWire is the missing link between Snipcart and the content management framework ProcessWire.
      With SnipWire, you can quickly turn any ProcessWire site into a Snipcart online shop. The SnipWire plugin helps you to get your store up and running in no time. Detailed knowledge of the Snipcart system is not required.
      SnipWire is free and open source licensed under Mozilla Public License 2.0! A lot of work and effort has gone into development. It would be nice if you could donate an amount to support further development:

      Status update links (inside this thread) for SnipWire development
      2020-07-03 -- SnipWire 0.8.7 (beta) released! Fixes some small bugs and adds an indicator for TEST mode 2020-04-06 -- SnipWire 0.8.6 (beta) released! Adds support for Snipcart subscriptions and also fixes some problems 2020-03-21 -- SnipWire 0.8.5 (beta) released! Improves SnipWires webhooks interface and provides some other fixes and additions 2020-03-03 -- SnipWire 0.8.4 (beta) released! Improves compatibility for Windows based Systems. 2020-03-01 -- SnipWire 0.8.3 (beta) released! The installation and uninstallation process has been heavily revised. 2020-02-08 -- SnipWire 0.8.2 (beta) released! Added a feature to change the cart and catalogue currency by GET, POST or SESSION param 2020-02-03 -- SnipWire 0.8.1 (beta) released! All custom classes moved into their own namespaces. 2020-02-01 -- SnipWire is now available via ProcessWire's module directory! 2020-01-30 -- SnipWire 0.8.0 (beta) first public release! (module just submitted to the PW modules directory) 2020-01-28 -- added Custom Order Fields feature (first SnipWire release version is near!) 2020-01-21 -- Snipcart v3 - when will the new cart system be implemented? 2020-01-19 -- integrated taxes provider finished (+ very flexible shipping taxes handling) 2020-01-14 -- new date range picker, discount editor, order notifiactions, order statuses, and more ... 2019-11-15 -- orders filter, order details, download + resend invoices, refunds 2019-10-18 -- list filters, REST API improvements, new docs platform, and more ... 2019-08-08 -- dashboard interface, currency selector, managing Orders, Customers and Products, Added a WireTabs, refinded caching behavior 2019-06-15 -- taxes provider, shop templates update, multiCURL implementation, and more ... 2019-06-02 -- FieldtypeSnipWireTaxSelector 2019-05-25 -- SnipWire will be free and open source Plugin Key Features
      Fast and simple store setup Full integration of the Snipcart dashboard into the ProcessWire backend (no need to leave the ProcessWire admin area) Browse and manage orders, customers, discounts, abandoned carts, and more Multi currency support Custom order and cart fields Process refunds and send customer notifications from within the ProcessWire backend Process Abandoned Carts + sending messages to customers from within the ProcessWire backend Complete Snipcart webhooks integration (all events are hookable via ProcessWire hooks) Integrated taxes provider (which is more flexible then Snipcart own provider) Useful Links
      SnipWire in PW modules directory SnipWire Docs (please note that the documentation is a work in progress) SnipWire @GitHub (feature requests and suggestions for improvement are welcome - I also accept pull requests) Snipcart Website  

       
      ---- INITIAL POST FROM 2019-05-25 ----
       
    • By Sten
      Hello
      Till now I hacked something with the twig template but it works no more with new PW versions so I look forward to create a module. I am working on a site in multiple languages : French, English, Italian, German, Spanish, Portuguese, Hebrew, Russian. The new posts are entered in any language with a field for language. Till now, I got twig files to get the translations with constants defined for each part of the pages.
      So I'd like to create a module to include theses files added according to the url /fr/en/...
      Have you some observations to do before I begin about the direction to take ?
      Thank you
    • By ukyo
      Mystique Module for ProcessWire CMS/CMF
      Github repo : https://github.com/trk/Mystique
      Mystique module allow you to create dynamic fields and store dynamic fields data on database by using a config file.
      Requirements
      ProcessWire 3.0 or newer PHP 7.0 or newer FieldtypeMystique InputfieldMystique Installation
      Install the module from the modules directory:
      Via Composer:
      composer require trk/mystique Via git clone:
      cd your-processwire-project-folder/ cd site/modules/ git clone https://github.com/trk/Mystique.git Module in live reaction with your Mystique config file
      This mean if you remove a field from your config file, field will be removed from edit screen. As you see on youtube video.
      Using Mystique with your module or use different configs path, autoload need to be true for modules
      Default configs path is site/templates/configs/, and your config file name need to start with Mystique. and need to end with .php extension.
      Adding custom path not supporting anymore !
      // Add your custom path inside your module class`init` function, didn't tested outside public function init() { $path = __DIR__ . DIRECTORY_SEPARATOR . 'configs' . DIRECTORY_SEPARATOR; Mystique::add($path); } Mystique module will search site/modules/**/configs/Mystique.*.php and site/templates/Mystique.*.php paths for Mystique config files.
      All config files need to return a PHP ARRAY like examples.
      Usage almost same with ProcessWire Inputfield Api, only difference is set and showIf usage like on example.
      <?php namespace ProcessWire; /** * Resource : testing-mystique */ return [ 'title' => __('Testing Mystique'), 'fields' => [ 'text_field' => [ 'label' => __('You can use short named types'), 'description' => __('In file showIf working like example'), 'notes' => __('Also you can use $input->set() method'), 'type' => 'text', 'showIf' => [ 'another_text' => "=''" ], 'set' => [ 'showCount' => InputfieldText::showCountChars, 'maxlength' => 255 ], 'attr' => [ 'attr-foo' => 'bar', 'attr-bar' => 'foo' ] ], 'another_text' => [ 'label' => __('Another text field (default type is text)') ] ] ]; Example:
      site/templates/configs/Mystique.seo-fields.php <?php namespace ProcessWire; /** * Resource : seo-fields */ return [ 'title' => __('Seo fields'), 'fields' => [ 'window_title' => [ 'label' => __('Window title'), 'type' => Mystique::TEXT, // or InputfieldText 'useLanguages' => true, 'attr' => [ 'placeholder' => __('Enter a window title') ] ], 'navigation_title' => [ 'label' => __('Navigation title'), 'type' => Mystique::TEXT, // or InputfieldText 'useLanguages' => true, 'showIf' => [ 'window_title' => "!=''" ], 'attr' => [ 'placeholder' => __('Enter a navigation title') ] ], 'description' => [ 'label' => __('Description for search engines'), 'type' => Mystique::TEXTAREA, 'useLanguages' => true ], 'page_tpye' => [ 'label' => __('Type'), 'type' => Mystique::SELECT, 'options' => [ 'basic' => __('Basic page'), 'gallery' => __('Gallery'), 'blog' => __('Blog') ] ], 'show_on_nav' => [ 'label' => __('Display this page on navigation'), 'type' => Mystique::CHECKBOX ] ] ]; Searching data on Mystique field is limited. Because, Mystique saving data to database in json format. When you make search for Mystique field, operator not important. Operator will be changed with %= operator.
      Search example
      $navigationPages = pages()->find('my_mystique_field.show_on_nav=1'); $navigationPages = pages()->find('my_mystique_field.page_tpye=gallery');
×
×
  • Create New...