Jump to content

Module: MediaLibrary


Recommended Posts

Hello: i get an error with PW

 

Error: Using $this when not in object context (line 39 of /web/htdocs/www.xxxxxx/home/site/modules/MediaLibrary-master/ProcessMediaLibraries.module) 

pw version 3.0.27

 

Thank you

Link to comment
Share on other sites

13 hours ago, abmcr said:

Hello: i get an error with PW


Error: Using $this when not in object context (line 39 of /web/htdocs/www.xxxxxx/home/site/modules/MediaLibrary-master/ProcessMediaLibraries.module) 

pw version 3.0.27

Can you try the latest version on git? The error should be fixed with version 0.1.0.

The latest version also incorporates @tpr's fix for the count() on null problem in case someone removes one of the fields from the MediaLibrary template.

@Zeka: I'm still looking into script loading in the frontend question. Currently, it's expected behaviour for an uncoditional autoload module, but I'm of course looking to only have the script loaded when necessary. Might be a while though, as it means a lot of testing and delving through PW's frontend editing code until I know what I'm doing. :)

  • Like 2
Link to comment
Share on other sites

  • 3 months later...

Hi, I'm new to Processwire and being a PHP novice having a hard time mastering its many complexities. I'm trying to use MediaLibrary but am stuck with a frustrating issue. When I add a Library, the library name appears in the main site navigation - this being a page, obviously. And when I make it hidden, the library page disappears from the Media list, and also from the dropdown when I access is via CKEditor. What am I doing wrong? Your help would be appreciated.

Link to comment
Share on other sites

Hi @MaryMatlow, that's actually a question I haven't yet thought about, since the pages I use it in assembles their navigation menus through more detailed selectors. I don't know if you could exclude it from your navigation by adding a "template!=MediaLibrary" somewhere. I'll give it some thought and post back here.

  • Like 1
Link to comment
Share on other sites

BitPoet, thank you for your hint. Adding this to MarkupSimpleNavigation php file worked:

    'selector' => 'template!=MediaLibrary',

Is there a way to access the MediaLibrary through the "choose file" button through admin. This button appears when you include images field for the page.

Thanks once again for your help and a great module.

  • Like 1
Link to comment
Share on other sites

13 hours ago, MaryMatlow said:

Is there a way to access the MediaLibrary through the "choose file" button through admin. This button appears when you include images field for the page.

Do you mean this button?

imagesfield.png

MediaLibrary is meant to avoid adding files and images to every page anew. Such functionality would copy the selected file/image over to the current page, which would be the opposite. I seem to recall that there's been a module somewhere in the forum that lets you add files or images from other pages, you might try google search with site:processwire.com/talk/ to find it. It should be possible to tweak that module then to only allow MediaLibrary pages if that is your requirement.

  • Like 1
Link to comment
Share on other sites

Thank you for sharing. Now the management is lot easier.  Every Time my client click on select image they get confused about image management because "Media Library" dropdown is always closed. Is there a configuration to keep Media Library dropdown open all of time? 

Link to comment
Share on other sites

5 hours ago, Speed said:

Thank you for sharing. Now the management is lot easier.  Every Time my client click on select image they get confused about image management because "Media Library" dropdown is always closed. Is there a configuration to keep Media Library dropdown open all of time? 

Not yet, but that should be easy to add as a module config option. I'll try to get around to it this week. Stay tuned.

  • Like 2
Link to comment
Share on other sites

  • 1 month later...

I am having an issue where it works if I put my MediaLibrarys at the top level, but if I make a Regular page Called "Media" and create them under that, it no longer works.  The drop down is just empty.

ie.   /media/people/  (People is the MediaLibrary page)

On the admin/media page it does correctly show the path as: Pages / Media

Link to comment
Share on other sites

I was able to fix my issue with this change in the MediaLibrary.module file.

Change:

public function ___getPageMediaLibraries($pg) {
		$libraries = array();
		foreach($pg->parents->and($pg) as $ppage) { 
			$libraries = array_merge($libraries, $this->getChildLibraries($ppage));
		}
		
		return $libraries;
	}

To this:

public function ___getPageMediaLibraries($pg) {
		
		$libraries = wire('pages')->find("template=MediaLibrary");
	
		return $libraries;
	}

 

Link to comment
Share on other sites

While this is a reasonable way of structuring things, it's not a case I'll cover with the module. But that's why I made getPageMediaLibraries hookable. You don't need to modify the original module code, just add a hook in site/ready.php and change the return value there.

wire()->addHookAfter("MediaLibrary::getPageMediaLibraries", null, "myCustomGetLibraries");

function myCustomGetLibraries(HookEvent $event) {
	$event->return = wire('pages')->find("template=MediaLibrary");
}

 

  • Like 2
Link to comment
Share on other sites

  • 3 months later...

Is there any way to handle over thousand images? The client wants all their images in one place and search would be nice too. Is there any good way to handle this with this module? Loading time is minutes now..

Link to comment
Share on other sites

On 4/3/2017 at 3:29 PM, tewdin said:

Is there any way to handle over thousand images? The client wants all their images in one place and search would be nice too. Is there any good way to handle this with this module? Loading time is minutes now..

Loading of regular pages might benefit a tiny bit from using my module, but managing images would still be prone to the same delays if you put all images into a single library (which is just a page behind the scenes). You might still be able to make use of it if you can separate images into different libraries (e.g. by categorizing them into logos, photos, product images etc.) so numbers stay manageable. Media Library uses PW's native tools (file/image fields, CKEditor pwimage plugin), and I have to admit, I haven't tested those (and my module) with a big number of images - the module is a result of an internal requirement at work, where the number tends to stay well below 100.

I'd say give it a quick try in a test system (perhaps in conjunction with the FileFieldTweaks option of @tpr's AdminOnSteroids). If you find you need something more elaborate though, @kongondo's Media Manager pro module might be worth a look.

  • Like 2
Link to comment
Share on other sites

57 minutes ago, BitPoet said:

If you find you need something more elaborate though, @kongondo's Media Manager pro module might be worth a look.

+1

Or you might want to look for non PW solutions which must be integrated for sure, so that is some extra work. I've just read about this one the other day: http://www.responsivefilemanager.com/  

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...
On 4/4/2017 at 1:09 PM, szabesz said:

+1

Or you might want to look for non PW solutions which must be integrated for sure, so that is some extra work. I've just read about this one the other day: http://www.responsivefilemanager.com/  

I am new to ProcessWire and considering using it for a project. PW seems perfect for this project and so far I am very impressed with it. There will be several image galleries though that have hundreds of images in them. The images don't need a description or any other meta, so being able to mange them in a directory for each gallery seems much easier than trying to manage hundreds of images on a page.

I am therefore interested in this approach and have managed to get http://www.responsivefilemanager.com/ working by creating a "galleries" directory at the root level of the site, putting the responsive file manager code there in one directory, and then letting it manage other directories for the galleries. Securing the file manager seems problematic though. It doesn't seem possibly to fully integrate this into the PW User/Login though. I've followed the Bootstrap instructions http://processwire.com/api/include/ and can tie into PW, but $user isn't populated (always "guest"). I can retrieve a user with $wire->users->get, but then isLoggedin() seems to always return true.

I imagine this needs to be done in a Module to have more integration with PW and may look into doing that. I wanted to check first though to see if someone else has done this, or if it doesn't sound like a good idea at all, or other suggestions? Thanks!

Link to comment
Share on other sites

  • 9 months later...

Thanks for the Media Library! Great.

Just one thing:
It took more than an hour to find out what's going on.
Having this code:

$user->language = $languages->get("en");  
foreach ($wire->pages->find("MediaImages.count>0") as $p) {
  echo '>'.$p->title.'<br>';
}

//Returns all pages having MediaImages. OK

$user->language = $languages->get("de");  //German user
foreach ($wire->pages->find("MediaImages.count>0") as $p) {
  echo '>'.$p->title.'<br>';
}

//Returns nothing.

Why? I was really confused.

Then I found out, that the Media Libary pages do not automatically set non-default languages active. Normal child pages  of "home" do.

Not sure if this is a bug, but I had a hard time with this. :huh:

medialib.png.66ea375da420248ec0d38d523adfbe10.png

Thank you.

  • Like 1
Link to comment
Share on other sites

  • 4 months later...

Hi,

I use Media Library module, sometimes does this:

  • I upload an image, save the page, go out and when came back the image is delete. 

 

Does it happen to you sometimes? Some one know why? and what I ca do?

Thank you

 

  • At moment I fix this just making a new page, in this way work the images aren't deleted, maybe could be a memory problem. I don't know.

 

Link to comment
Share on other sites

@MarcoPLY,

Moderator Note

I would have thought you've been around long enough to know that module related questions need to be posted in their respective support forums, if such do exist ?

I've moved your post to Media Library's support forum.

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