Jump to content

Admin side page field - autoselect all the selectable pages


Vineet Sawant
 Share

Recommended Posts

Hello,

I've a requirement where I need to have a list of pages using same template available on a page (site settings page) through page field.

Basically what I need is, whenever a new page of specified template has been created, it should be automatically added to that pages list, just like home page has children.

For example,

I've a template called article. Articles are posted under /blog/ page.

I've a site settings page which has a page field called articles_list which I use to manage articles list on some other page. This way I can manually chose what articles I want to show and in which sorting order. There's no specific sorting logic to this.

So what I need is, whenever a new article is posted, it should automatically be appended on that articles_list page field so the site moderator can manually change the sorting without having to add page himself and then select the sorting. 

I've this weird requirement cause the site moderator can't see which new article has been added to the blog, he's just allowed to set the sorting.

I hope I've clarified the requirement. I think I can use admin custom pages but it for some reason never worked for me.

Thank.

P.S. Forgot to mention that to add post or any other related task, I'm not using front-end, it's all through PW's admin panel.

Edited by Vineet Sawant
Link to comment
Share on other sites

Edit: Get it wrong i thought you think about the user interaction....sorry for that

You could even use a custom pagetree - should be possible to create a PageArray and run this with the original pagetree and AdminCustomTables

example code from the imageoverview (CutomAdminPage Template):

<?php
// Imageoverview Custom Admin Page
?>
<style type="text/css" media="screen">
    /**
     * larget magnific popup
     */
    .mfp-iframe-holder .mfp-content {
        max-width: 1200px!important;
    }
</style>
<script type="text/javascript">
$(document).ajaxComplete(function() {

        //add trigger class and modal setup
        $('.PageListActionEdit a').each(function(){
         $(this).addClass("lb-edit").attr("href",$(this).attr('href')+"&modal=1");
        });

        $('.PageListActionNew a').each(function(){
            $(this).addClass("lb-edit").attr("href",$(this).attr('href')+"&modal=1");
        });

        //setup lightbox
        $('.lb-edit').magnificPopup({
            type: 'iframe',
            disableOn: 0
        });
});

</script>

<?php

//get Magnific css and js
$this->modules->get('JqueryMagnific');

//render PageListtree with setting the parent page
$formImages = $this->modules->get('InputfieldForm'); // prep the form
$wrapperImages = new InputfieldWrapper; // a wrapper
$wrapperImages->attr('value', '<h2>Bilder</h2>');
$i = $this->modules->get('ProcessPageList'); // get the pagelist process
$i->set('id', 1015); // setting the parent page
$pageTreeImages = new InputfieldMarkup; // the placeholder
$pageTreeImages->value = $i->execute(); // fill the InputfieldMarkup form field...
$wrapperImages->add($pageTreeImages); // put inside the wrapper...
$formImages->append($wrapperImages); // append the wrapper

echo $formImages->render();

And as result i've a adminpage just with the imagetree and on click editing with modal view...

or take a look at a example module from soma:

https://processwire.com/talk/topic/1272-new-page-nav-in-admin/#entry11276

regards mr-fan

Edited by mr-fan
  • Like 1
Link to comment
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
 Share

×
×
  • Create New...