Jump to content

hellomoto

Members
  • Posts

    364
  • Joined

Posts posted by hellomoto

  1. 
                    $np = new Page();
                    $np->of(false);
                    $np->parent = $page->id;
                    $np->template = $make;
                    $np->title = 'tmp';
                    $np->addStatus('unpublished');
                    $np->save();
                    $np->uploaded->add($f);
                    $np->title = $f->basename;
                    $np->save();
                    $this->message('Uploaded to new page '.$np->id.': '.$np->title);
    
                    $page->upload->delete($f);
                    $page->save(['noHooks' => true]);

    works

  2. This did not work...

                    $np = new Page();
                    $np->parent = $page;
                    $np->template = 'upload';
                    $np->title = 'tmp';
                    $np->save();
                    $np->of(false);
                    $np->uploaded->add($f);
                    $np->title = $f->basename;//$t->description;
                    $np->name = $sanitizer->name($np->title);
                    $np->save();
                    $this->message('Uploaded to new page: '.$np->title);
    
                    wire('pagefiles')->delete($f);

    Error: Call to a member function add() on null

  3. Updating less.php got rid of the aforementioned LESS error though the fonts don't load anyway.

    Changed the JS method allowing for a second call to generate JS to be deferred:

    
        public static function JS($javascripts, $js2 = false) {
    
            // ------------------------------------------------------------------------
            // Check if at least one file was passed.
            // ------------------------------------------------------------------------
            if(empty($javascripts)) throw new WireException('There were no files specified to minimize.');
    
            // Support passing of $config->scripts as argument which is of type FilenameArray
            if(($javascripts instanceof FilenameArray))
                $javascripts = (array) $javascripts->getIterator(); // Convert to array
    
            // ------------------------------------------------------------------------
            // Check if files exist and generating the cache file name based 
            // on the last editing of the file.
            // ------------------------------------------------------------------------
            $javascripts    = is_array($javascripts) ? $javascripts : array($javascripts);
            $javascripts    = self::_fileArray($javascripts, '.js');
            $cacheFile      = self::_getCacheName($javascripts, self::$jsCachePrefix . ($js2 ? '2' : ''), '.js');

     

  4. In the document html head tag:

            if (!empty($jshead)) echo '<script src="'.\AIOM::JS($jshead).'"></script>';
            if (!empty($jsfoot)) echo '<script src="'.\AIOM::JS($jsfoot).'" defer></script>';

    ... both lines render the same file, containing only one of the files in the respective arrays (each array has one item, it only contains the 1st)? What am I doing wrong?

    Also, including @import google fonts begets the following error:

    PHP Warning: Trying to access array offset on value of type null in .../processwire/site/modules/AllInOneMinify/lib/Less/Less.php:5746

    No error if I include the compiled CSS instead of LESS, but @import is used in the README examples?

  5. On 10/27/2024 at 11:04 AM, TomPich said:

    In the Selectors class definition, Ryan wrote that the protected property "selectorStr" there only for debugging.
    I tried with $selectors->get("selectorStr") and it doesn’t work neither.
    So if I really need that string (and couldn’t store it earlier in the process), I would create a class that extends Selectors an allow selectorStr exposure...

    Okay thanks but why not just access via ->__toString()?

  6. I'm almost finished reading Developing Large Web Applications by Kyle Loudon (2010) and it keenly reminded me of ProcessWire, and I'd thought that PW came out around then but maybe earlier... Anyway the book is somewhat outdated by now, but I found it at the library and read through most of it quickly. It does provide a solid introduction to OOP in PHP; JavaScript has changed much more, and I basically skipped the CSS part.

    Are there any [maybe newer] books you would recommend?

    • Like 1
  7. I just realized and then this was already in the Google SERP open from searching "wire in wire function processwire" regarding something else (wire('config') in a function was not a function because the namespace wasn't present):

    wire() in the init method of a module which extends ProcessPageAdd in a different PW instance that is instantiated in ready.php is initialized also in the instance instantiating the other instance. For example:

     
    wire()->addHookBefore("ProcessPageAdd::execute", $this, 'hookPageAdd');

    resulted in an error adding a page of the same template name in the instance instantiating the other one. Prepending with $this-> disables the cross-site functionality.

  8. Maybe it's Firefox looking for favicon file automatically... It goes away if I indicate a favicon... Indicating a nonexistent one changes the stack trace to

    load resource:///modules/FaviconLoader.jsm:180:20
    load resource:///modules/FaviconLoader.jsm:567:70
    loadIcons resource:///modules/FaviconLoader.jsm:645:26
    FaviconLoader/this.iconTask< resource:///modules/FaviconLoader.jsm:621:18
    _runTask resource://gre/modules/DeferredTask.sys.mjs:347:18
    _timerCallback/< resource://gre/modules/DeferredTask.sys.mjs:318:20
    _timerCallback resource://gre/modules/DeferredTask.sys.mjs:337:9
    _startTimer/callback/< resource://gre/modules/DeferredTask.sys.mjs:185:18
    

    Sorry this isn't quite insightful

  9. I don't have a request in templates for favicon.ico.

    In Firefox inspector:

    Request cookies are: 'adminer_key', 'adminer_sid', 'tracy-session', 'wire0s', 'wire1s', 'wire1s_challenge', 'wires', 'wires_challenge'.

    Stack trace:

    load	resource:///modules/FaviconLoader.jsm:180:20
    load	resource:///modules/FaviconLoader.jsm:567:70
    loadIcons	resource:///modules/FaviconLoader.jsm:645:26
    onPageShow	resource:///modules/FaviconLoader.jsm:679:12
    onHeadParsed	resource:///actors/LinkHandlerChild.sys.mjs:56:24
    handleEvent	resource:///actors/LinkHandlerChild.sys.mjs:172:21
    

    I don't know what those are. I did recently install and then afterward notice an odd commit and deleted the module -- https://github.com/FriendsOfProcessWire/FieldtypeLeafletMapMarker/commit/e57e9373e6cccb79fe89dfda00fec117624649f2

    has a bunch of empty files? "Remove executable bit from files"? -- Sorry I just realized the permissions changed from 755 to 644...

     

  10. When I include index.php and run the script via command line `php bootstrap.php` this error is returned:

    PHP Warning:  Cannot modify header information - headers already sent by (output started at /pw/bootstrap/index.php:5) in /pw/index.php on line 41
    404 page not found (no site configuration or install.php available)

    I've tried moving the script around also and it's the same if external...

    <?php namespace ProcessWire;
    
    if (!class_exists('ProcessWire\Templates')) {
        // $pw_dir = dirname(dirname(__FILE__), 2); echo $pw_dir;
        $boot = "../pw/index.php";
        $boot = realpath($boot); echo $boot;
        require_once $boot;// $pw_dir.'/index.php';
        echo 'booted'; exit;
    }

    (so as to not include if ran from within PW instance, also tried with no condition)

×
×
  • Create New...