Thursday, December 19, 2013

Code for Create or Update Resource in Modx Revo

Code for create new resource in Modx Revo :

                    $class = 'modResource';
                    $resource= $modx->newObject($class);
                    $resource->set('context_key', 'web');
                    $resource->set('content_type', 1);
                    $resource->set('pagetitle', PAGE_TITLE); //  here you enter your new resource pagetitle
                    $resource->set('parent', PARENT_ID); // here you enter parent id in which you want to see you new resource
                    $resource->set('isfolder', false);
                    $resource->set('published', true);
                    $resource->set('template', TEMPLATE_ID); // set template id
                    $resource->set('pub_date', strftime('%Y-%m-%d %H:%M:%S',strtotime(PUBLISH_DATE))); // set publish date
                    $resource->set('searchable', $this->modx->getOption('search_default'));
                    $resource->set('cacheable', $this->modx->getOption('cache_default'));
                   
                    $resource->_fields['content']= $res_content; // set resource content in $res_content
                    $resource->save();

now it will create new reource in your modx. Now,

   
Code for create new resource in Modx Revo :

            $newResourceUpdate = $modx->getObject('modResource',RESOURCE_ID); // set resource id
            $newResourceUpdate->set('template',TEMPLATE_ID);
            $newResourceUpdate->set('parent',PARENT_ID);
            $newResourceUpdate->set('pub_date', strftime('%Y-%m-%d %H:%M:%S',strtotime(PUBLISH_DATE)));
            $newResourceUpdate->save();

After this it will update your resource values.

Comment it and ?Share it if it helps you.

Code for Duplicate resource in modx revo

 Here is the code for Duplicate resource in modx revolution :

            $oldResource = $modx->getObject('modResource',RESOURCE_ID); // set resource id from which you want to Duplicate resource
             if (empty($oldResource)) return $modx->error->failure($modx->lexicon('resource_err_nfs',array('id' => $props['resourceID'])));
           
            if (!$oldResource->checkPolicy('copy')) {
                return $modx->error->failure($modx->lexicon('permission_denied'));
            }
           
            /* get parent */
            $parent = $cat;
           
            $newResource = $oldResource->duplicate(array(
                'newName' => NEW_TITLE,  // New Title which you want to see in new resource
            ));
            if (!($newResource instanceof modResource)) {
                return $newResource;
            }
           
            $modx->invokeEvent('OnResourceDuplicate',array(
                'newResource' => &$newResource,
                'oldResource' => &$oldResource,
            ));

Comment it and Share it if it helps you.

Get Migx TV values from resource in Modx Revo

Here is the code :

                    $docid = RESOURCE_ID; // id of current resource
                    $tvname = 'MultiColumn'; // Name of your TV
                    $tv = $modx->getObject('modTemplateVar', array('name' => $tvname));
                    $outputvalue = $tv->renderOutput($docid);
                    $items = $modx->fromJSON($outputvalue);
                    $idx = 0; // initialize idx
                    $output = array();
                    foreach ($items as $key => $item) {
                        $idx++; // increase idx
                        $output[] = print_r($item,1);
                    }
                    $outputSeparator = "\n";
                    $o = implode($outputSeparator, $output); // implode output

Here you will get all the value from Migx from any resource in arrays.

Comment it and Share it if it helps you.

Monday, October 21, 2013

Return to top in page using jquery

$("html, body").animate({ scrollTop: 0 }, 200);
 
use this jquery code in onclick event. it's working like a charm. This 
is the simplest code for return to top in page. It is also working if 
you are using AJAX and calling from AJAX part.
 
If it's help you, comment it and share it.
 
 
 

Tuesday, October 15, 2013

migx inside migx in Modx Revo

Here i am showing code for migx within another migx in Modx Revolution

BackEnd :
first you have to written below code in "Form tabs" when you create migx TV in which you want to show another migx,

{"field":"institutions","caption":"Institutions","inputTV":"another_migx_name","renderer":"this.renderChunk"},

this will create another migx inside your original migx and store values in it.

FrontEnd :
now in frontend in main migx write simple migx code for fetch values from main migx.
[[!getImageList?
           &tvname='migxTVname`
           &tpl=`mainChunkName`
]]

in another migx for fetching values you can write like this code,
[[!getImageList?
        &value=`[[+institutions]]`
        &tpl=`Chunk_name`
]]

now it's done, and it will show your inside migx values.

If this helps you comment it and share it.

Friday, October 4, 2013

jQuery not working after AJAX call


When programmer bounded the functionality of the click event even before the new content is injected to the DOM. So that functionality will not be available to the newly added (injected) dynamic content. To handle this , you need to use jQuery on

So Change your code from
$(function(){
   $(".class_name").click(function(){    
     // your code    
   });
});
to
$(function(){
    $(document).on("click",".class_name",function(){
       //your code
    });
});
jQuery on will work for current and future elements. on is avaialbe from jQuery 1.7+ onwards. If you are using a previous version of jQuery, use live

So Change code in previous version
$(".class_name").live("click",function(){