Jump to content

dynweb

Members
  • Posts

    85
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by dynweb

  1. Converting relative URLs to page IDs doesn't seem to work if there is more than 1 URL segment (/page1/subpage/) AND the application is NOT running in a subdirectory.

    I had to replace line 86 from FieldtypeAssistedURL.module

    $urlPage = "/" . str_replace($this->wire('config')->urls->root, "", $urlParts[0]);

    with

    if($this->wire('config')->urls->root !== '/') {
    	$urlPage = "/" . str_replace($this->wire('config')->urls->root, "", $urlParts[0]);
    } else {
    	$urlPage = $urlParts[0];
    }

    to make it work.

    Am I missing something? 

    • Like 1
  2. 6 minutes ago, kongondo said:

    Ah, yes. As documented here as well:

    http://processwire.com/api/ref/wire-array/import/

    I think that means that existing keys will not be overwritten, cf WireArray class:

    	public function import($items) {
    
    		if(!is_array($items) && !self::iterable($items)) 
    			throw new WireException('WireArray cannot import non arrays or non-iterable objects'); 
    
    		foreach($items as $key => $value) {
    			if(($k = $this->getItemKey($value)) !== null) $key = $k;
    			if(isset($this->data[$key])) continue; // won't overwrite existing keys
    			$this->set($key, $value); 
    		}
    		return $this;
    	}

    It seems that the line above

    if(($k = $this->getItemKey($value)) !== null) $key = $k;
    

    causes the problem.

    getItemKey() uses array_search and returns the key of the first value found, so the second, identical value is missed...

    • Like 1
  3. I put the following code in my template:

    $a = WireArray([
        WireArray([
            'template' => 'basic',
            'key' => 'animals',
        ]),
        WireArray([
            'template' => 'default',
            'key' => 'default',
        ]),
    ]);
    
    print_r($a);

    Output:

    ProcessWire\WireArray Object
    (
        [count] => 2
        [items] => Array
            (
                [0] => ProcessWire\WireArray Object
                    (
                        [count] => 2
                        [items] => Array
                            (
                                [template] => basic
                                [key] => animals
                            )
    
                    )
    
                [1] => ProcessWire\WireArray Object
                    (
                        [count] => 1
                        [items] => Array
                            (
                                [template] => default
                            )
                    )
            )
    )
    

    So... where is the "key" of the 2nd array element?

    It only happens if the value is "default".

    Any ideas ? Thank you.

     

    Edit: Newest Processwire 3.0.121

  4. Please use (as you did) "related_category" as field name (with no subfield), and it will display the titles of all related items. Use of FieldtypePage.anysubfield is possible, but only the first related item is displayed (as in the Core module). I'll try to find a solution for the next version...

    To avoid the error, please use this version.

  5. @Soma: You are right, the naming does not really matter in this case, but I still prefer to comply with PW naming conventions.

    I also added a callback to delete the thumbs generated from cropimages if the parent image is deleted. And added the module to the modules directory :-)

    Thank you everybody for their feedback!

    • Like 1
  6. Custom Page List lets you easily customize the page list (tree) in the admin section.
     

    I wanted something more (easily) configurable than the existing solutions, so I tried to add some new functionality with an easy to use interface. This is my first module for ProcessWire, so don't hesitate to let me know how to make it better :)

     
    Based on the work of
     
     
     
    Features
     
    • Customize styles and separators used in the page list
    • Display custom labels for each field
    • Display image thumbnails
    • Display formatted dates
    • Display info from related models (e.g. title field of related pages)
    • Display on/off checkbox as "Yes/No" (ready for translation)
    • Define output filter(s) for each field
     
     
    Configuration
     
    See the README that comes with the download.
     
     
    Download
     
    Source code is available at https://github.com/hgassen/custom-page-list.
     
    • Like 14
×
×
  • Create New...