Jump to content

Recommended Posts

  • 1 month later...
Posted

hi @thetuningspoon

just wanted to say thank you! i looked to your code and it was really easy to implement my own fieldlink (needed some special selections) like this:

php hook:

/* pagefield for league selection */
$this->addHookAfter('InputfieldPage::render', function($event) {
    $field = $event->object;
    $pages = $this->wire->pages;
    
    if($field->name != 'league') return;

    // load script
    $this->config->scripts->add($this->config->urls->Webifex . 'pagefieldReload.js');

    $admin = $pages->get(2)->url.'page/';
    $leagues = $pages->get(1017) // settings
        ->season // current season
        ->child('name=ligen');

    ob_start(); ?>
    <div><a class="pw-modal" href="<?= $admin.'?open='.$leagues->id ?>">
        <i class="fa fa-edit"></i> Ligen verwalten
    </a></div>
    <?php
    $html = ob_get_clean();

    $event->return = preg_replace('/<\/div>$/', $html, $event->return);
});

and this simple javascript:

$(document).on('pw-modal-closed', 'a', function() {
	$(this).closest('.Inputfield').trigger('reload');
});

awesome :)

  • Like 2
  • 1 year later...
Posted

I have some problem with this module when also using the HelperFieldLinks module. I don't know which one of the modules is causing this, but it doesnt look very nice. 

edit-links-problem.png

Posted
24 minutes ago, lpa said:

when also using the HelperFieldLinks module

I used to use that module, but these day I prefer AdminOnSteroids for that functionality.

  • Like 3
  • 1 month later...
Posted

One idea would be to clone the core inputfieldPage module and then make the renderReady method hookable. Also we need to ask @ryan if it will be possible to make renderReady hookable like render, or if there is some issue with that; once renderReady is hookable, then this module would be able to use that hook to add the required assets;

If you use inputfieldSelectize, you can just make your own edit links on the items, and not need this module.

  • Like 1
Posted
9 hours ago, Macrura said:

One idea would be to clone the core inputfieldPage module and then make the renderReady method hookable. Also we need to ask @ryan if it will be possible to make renderReady hookable like render, or if there is some issue with that; once renderReady is hookable, then this module would be able to use that hook to add the required assets;

Thank you.

Hmm, it works if the page hosting the repeater has a page reference field with editLinks enabled too.

Unfortunately it does not work when it is hidden.

 

9 hours ago, Macrura said:

If you use inputfieldSelectize, you can just make your own edit links on the items, and not need this module.

 

Not sure if I understand how this works. I'am seeing only [object Object] (see screenshot).

But I think anyway it is not a replacement for the type of selector I need. I have to be able to select in a page tree.

A flat list does not help in this case.

Thank you.

select.png.95635b8e66acd26731f554b1ea2c95ab.png

 

Posted

As workaround for PageFieldEditLinks inside Repeaters, I've hacked this. Just place the code below in templates/admin.php.
(Adjust 'my_template').

if ($page->name=='edit' && $input->get->id) { 
 if ($pages->get($input->get->id)->template->name=='my_template') {
   $config->scripts->add($config->urls->siteModules . "AdminPageFieldEditLinks/AdminPageFieldEditLinks.js");
   $config->styles->add($config->urls->siteModules . "AdminPageFieldEditLinks/AdminPageFieldEditLinks.css");
 }   
}

Place the above before:

require($config->paths->adminTemplates . 'controller.php'); 
  • Like 2
Posted
19 hours ago, theo said:

Unfortunately this doesn't work inside a repeater.

I assume you know that ASM Select supports linking to the page already in the core, so unless you need the additional features of this, that might already be a solution.

5a92c8597207f_Edit_Field__dw_shortcut_select__dev_aaroncopland_com.jpg.b53808aeaa06c80448978e13d249e5c2.jpg

Posted
20 hours ago, Macrura said:

One idea would be to clone the core inputfieldPage module and then make the renderReady method hookable.

Inputfield::renderReady was made hookable as Inputfield::renderReadyHook in PW 3.0.44. So the module could be updated to hook after InputfieldPage::renderReadyHook instead of before InputfieldPage::render - then it will work with repeater fields.

That would add a requirement of PW >= 3.0.44, or else the module could check the PW version and hook different methods depending on the version.

  • Like 5
Posted

Super useful module @thetuningspoon and @Macrura - any chance we could have the option for each page reference field whether the links should open in a modal, or straight into the current tab - I am wanting this as more of a navigation tool. Would this be easy enough to implement?

Thanks!

  • Like 2
Posted

Hey guys, for some reason the forum has not been notifying me of new replies in this thread, so I apologize for my absence.

@Robin S Thanks for the info on the new InputfieldPage::renderReadyHook method. I will update the module asap. I think that as it stands right now, the module does work in a repeater as long as the main page also has a page field that is using the module. The problem is that the js and css assets are not included by the repeater.

 

On 1/15/2018 at 4:52 PM, lpa said:

I have some problem with this module when also using the HelperFieldLinks module. I don't know which one of the modules is causing this, but it doesnt look very nice. 

edit-links-problem.png

@Ipa it looks like the javascript for these two modules is conflicting. I am not familiar with HelperFieldLinks. Can you explain its purpose? Also, can you get me a larger screen shot of this in context of the rest of the field?

 

On 3/3/2018 at 7:25 PM, adrian said:

Super useful module @thetuningspoon and @Macrura - any chance we could have the option for each page reference field whether the links should open in a modal, or straight into the current tab - I am wanting this as more of a navigation tool. Would this be easy enough to implement?

Thanks!

I don't think this would be too difficult to add. Good idea.

  • Like 3
Posted

You can find my other message on the issue here on the HelperFieldLinks thread. It is supposed to give quick access to the templates and fields for superusers.

 

  • 3 weeks later...
Posted

Just released an update on GitHub:

-Added support for repeaters using the new InputfieldPage::renderReadyHook method (Will fall back to hooking into render if using on an older version of PW)
-Specifying processes is no longer required (I'm not sure why I limited the modules use to just specific admin pages before, but there may have been a reason. Let me know if you see any problems with this)

I looked into the possibility of making the modal optional, but it's not such a simple task with the way the JS is currently structured. I would like to do some refactoring, but not sure if/when I'll have the time. 

  • Like 4
  • 2 weeks later...
Posted
On 28/03/2018 at 10:57 AM, thetuningspoon said:

Just released an update on GitHub:

-Added support for repeaters using the new InputfieldPage::renderReadyHook method (Will fall back to hooking into render if using on an older version of PW)
-Specifying processes is no longer required (I'm not sure why I limited the modules use to just specific admin pages before, but there may have been a reason. Let me know if you see any problems with this)

I looked into the possibility of making the modal optional, but it's not such a simple task with the way the JS is currently structured. I would like to do some refactoring, but not sure if/when I'll have the time. 

Hi,

I guess I found a side effect of your last update (I suppose because of the hook). The "New" link now appear on front-end when pagefield is used in formbuilder. It's not that I don't want even if it's contradict module's name (!) (in fact, could help me), but the link doesn't work anyway. Give a strange url : /undefinedpage/add/?parent_id=1050&template_id=46&modal=1

For now, I will downgrade, because I need this functionality in admin.

Thanks

  • Like 1
  • 3 months later...
Posted

I would like to create new pages as children from your module – if i don't provide a parent when setting up the field, the create new link looks as follows:

parent_id=0&amp;template_id=51&amp;modal=1 … it would be great if there would be an option to allow the current page ID to be passed to parent_id instead of 0

See:

 

  • 3 months later...
  • 3 weeks later...
Posted

Just installed this and it looks good except that I am having difficulty adding new pages. I get this message:

 ProcessWire: ProcessPageAdd: Template Member is not allowed here (/members/)

The settings I have used are parent = Members (i.e. url= /members/) and Template = Member. All the children of Members have template Member. If I deselect the Template = Member, the new page modal gives a choice of every template except Member. Am I being dim or what?

The field is located on a completely different page (Memberships)

  • 2 months later...
Posted

Love this module, but how come the edit icon that is added to the inputfield is fa-search? I reckon fa-pencil-square-o would be more suitable for an edit icon.

2019-02-07_125654.png.d7b5dfa5184c3c6e3eaa94af13474a65.png

2019-02-07_125913.png.e69a2ad1895523da77eeef3537fb9c3e.png

  • Like 2

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
×
×
  • Create New...