Posts: 57
Threads: 2
Joined: Feb 2015
Hello Bigin,
thank you for the time you spent to help me. As expected, your code works great, and one thing I still couldn't find out is how to implement the enabled/disabled (active) state into my code. Here is what I got so far. I know it's terribly wriiten but I find it really difficult to understand OOP as a beginner... :-) Please ignore the inline styles, they will be replaced later with classes.
PHP Code: <?php $slug = get_page_slug(false); $page = get_site_url(false); $manager = new IManager(); if(!$manager){die('ItemManager not installed!');} $kategorie = $manager->getCategoryMapper()->getCategory('name=Angebote'); if(!$kategorie){die('Angebote category does not exist!');} $itemClass = $manager->getItemClass(); $itemClass->init($kategorie->id); $itemClass->filterItems('position', 'ASC'); // updated
foreach($itemClass->items as $item) {
echo "<div class=\"".strtolower(htmlspecialchars($item->fields->package->value))."\">\r\n";
if(!empty($item->fields->visibleonhome->value) == 1) { echo '<div style="margin: 10px 10px 0 0; display: block; float: right; border-radius: 50%; background: green; width: 15px; height: 15px;"></div>'; }
if(!empty($item->fields->image->value)) { $imageTitle = $manager->sanitizer->text($item->fields->image->title[0]); $imageUrl = $manager->sanitizer->text($item->fields->image->fullurl[0]); echo "\t"; echo '<div style="width: 40%; float: left;"><img alt="'.$imageTitle.'" src="'.$page.$imageUrl.'" /></div>'; echo "\r\n"; }
echo "\t<div style=\"width: 60%; float: left; padding: 0 30px 30px 30px;\">\r\n"; echo "\t<h1>" . htmlspecialchars($item->name) . "</h1>"; echo "\r\n";
if(!empty($item->fields->package->value)) { echo "\t<p class=\"category ".strtolower(htmlspecialchars($item->fields->package->value))."\">" . htmlspecialchars($item->fields->package->value) . "</p>"; echo "\r\n"; }
if(!empty($item->fields->teaser->value)) { echo $item->fields->teaser->value . ""; echo "\r\n"; }
if(!empty($item->fields->more->value)) { echo "\t<a href=\"#\" class=\"more\">" . $item->fields->more->value . "<i class=\"fa fa-angle-right\" aria-hidden=\"true\"></i></a>"; echo "\r\n"; } else { echo "\t</div>\r\n"; }
if(!empty($item->fields->content->value) && !empty($item->fields->more->value)) { echo "\t<span class=\"hidden\">" . $item->fields->content->value . "</span>"; echo "\r\n"; echo "\t</div>\r\n"; }
echo "</div>\r\n\r\n"; } ?>
Thank you very much again and have a nice evening :-)
Posts: 538
Threads: 12
Joined: May 2013
2017-01-09, 06:11:40
(This post was last modified: 2017-01-09, 06:16:31 by Bigin.)
There are many ways of doing that. One option would be to use getItems() method with "active=1" selector before filterItems():
PHP Code: $itemClass->init($kategorie->id); $items = $itemClass->getItems('active=1'); $items = $itemClass->filterItems('position', 'ASC', 0, 0, $items); foreach($items as $item) { ...
Another option is even simpler – I think: Just check if the item is active inside your foreach construct, something like:
PHP Code: foreach($itemClass->items as $item) { if(empty($item->active)) continue; ...
Best regards
Posts: 57
Threads: 2
Joined: Feb 2015
Amazing, Bigin! Thank you very much again. Your support has been so motivating that I decided to learn OOP.
Best wishes to you :-)
Posts: 185
Threads: 8
Joined: Apr 2012
@Bigin, is there a reason for queue_style('imstylefonts', GSBOTH); ? because if I load FontAwesome separately, I need to modify the plugin. Couldn't find what is using it in frontend except of my template but there I have icomoon modified version of FontAwesome, so it basically loads twice the same content. For now I just modified it to GSBACK
Posts: 538
Threads: 12
Joined: May 2013
Hi morvy,
I do not know why I have GSBOTH there, I see no reason for this. Yeah, just leave it set to GSBACK, I will change it with the next update.
Thanks for your reporting.
Posts: 51
Threads: 6
Joined: Mar 2011
GS 3.3.13 PHP 5.6
in setinngs I've got a lot of notices like this
"Notice: Trying to get property of non-object in .../docs/plugins/imanager/lib/Admin.php on line 434"
and plugin doesn't work
Posts: 538
Threads: 12
Joined: May 2013
(2017-02-07, 05:12:40)wakh Wrote: GS 3.3.13 PHP 5.6
in setinngs I've got a lot of notices like this
"Notice: Trying to get property of non-object in .../docs/plugins/imanager/lib/Admin.php on line 434"
and plugin doesn't work
There is too little information to make a reasonable answer. ItemManager works without any troubles with PHP 5.6
Posts: 51
Threads: 6
Joined: Mar 2011
2017-02-07, 05:30:19
(This post was last modified: 2017-02-07, 05:48:38 by wakh.)
what's required?
tried on 2 different hostings
Posts: 538
Threads: 12
Joined: May 2013
All your warnings and error messages.
But i think IM installation is damaged. Try to reinstall, delete all ItemManager folders and files in "/plugins/" and /data/imanager/ complete directory.
Posts: 51
Threads: 6
Joined: Mar 2011
2017-02-07, 06:13:43
(This post was last modified: 2017-02-07, 06:16:11 by wakh.)
Thanks!
It was because i use "GS Plugin Installer" for install this, after reinstall it work!
May be you need to notice about it and/or add selfcheck to plugin.
Posts: 538
Threads: 12
Joined: May 2013
Sure!
(2017-02-07, 06:13:43)wakh Wrote: May be you need to notice about it and/or add selfcheck to plugin.
Already there, but it will not work if PHP files are missing lol. I don't care about Plugin Installer, IM has its own installation routine.
regards
Posts: 57
Threads: 2
Joined: Feb 2015
Hello Bigin,
when I try to upload an image it works fine on my local host. But when I try to upload an image on my server I get the following message in debug mode:
Error SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
The image will be shown in the frontend but the thumbnail could not be created for the backend.
Do you have an idea how to solve this?
Thank you :-)
Posts: 538
Threads: 12
Joined: May 2013
Hi smsHH,
hmmm, I have never seen anything like this. Is it javascript error on console? It's fairly difficult to diagnose your problem without a reproducible example.
Which field are you using "file upload" or the older "image upload"?
If you suspect that the error occurs during image cropping, you can check whether thumbnails are created under: "/data/uploads/imanager/1.15/thumbnail/your_image_file.jpg" where 1 is the item's id and 15 your category.
You can try with a different browser and check again whether error message is displayed.
You can also try to remove the "/data/uploads/imanager/*.*" folder and repeat the upload
Posts: 57
Threads: 2
Joined: Feb 2015
Hello Bigin,
thank your for your quick response.
I am using 'file upload'.
When I create a new item and try to upload an image file, neither a folder for thumbnails will be created nor the thumbnail itself, Chrome reports (below the file upload dialogue):
Code: Error SyntaxError: Unexpected token < in JSON at position 0
while Chrome's console reports:
Code: GET http://path-to-my-server/admin/http//path-to-my-server/admin/template/js/fancybox/jquery.fancybox.pack.js [HTTP/1.1 404 Not Found 168ms]
NS_ERROR_UNEXPECTED: eval line 1 > eval
wrap2/< eval line 1 > eval
.data http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js:2:23037
b/< http://path-to-my-server/plugins/imanager/upload/js/bootstrap.min.js:6:1832
f</<.each http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js:2:11935
f</e.prototype.each http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js:2:8481
b http://path-to-my-server/plugins/imanager/upload/js/bootstrap.min.js:6:1795
._renderUpload http://path-to-my-server/plugins/imanager/upload/js/jquery.fileupload-jquery-ui.js:67:13
$.widget/</proxiedPrototype[prop]</< http://path-to-my-server/plugins/imanager/upload/js/vendor/jquery.ui.widget.js:126:19
.options.add http://path-to-my-server/plugins/imanager/upload/js/jquery.fileupload-ui.js:103:32
$.Widget.prototype._trigger http://path-to-my-server/plugins/imanager/upload/js/vendor/jquery.ui.widget.js:518:4
._onAdd/< http://path-to-my-server/plugins/imanager/upload/js/jquery.fileupload.js:1033:26
f</<.each http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js:2:11935
._onAdd http://path-to-my-server/plugins/imanager/upload/js/jquery.fileupload.js:1026:13
$.widget/</proxiedPrototype[prop]</< http://path-to-my-server/plugins/imanager/upload/js/vendor/jquery.ui.widget.js:126:19
._onChange/< http://path-to-my-server/plugins/imanager/upload/js/jquery.fileupload.js:1225:21
f.Callbacks/n http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js:2:14779
f.Callbacks/o.add http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js:2:14999
.Deferred/h.always http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js:2:16032
._onChange http://path-to-my-server/plugins/imanager/upload/js/jquery.fileupload.js:1215:13
$.widget/</proxiedPrototype[prop]</< http://path-to-my-server/plugins/imanager/upload/js/vendor/jquery.ui.widget.js:126:19
handlerProxy http://path-to-my-server/plugins/imanager/upload/js/vendor/jquery.ui.widget.js:434:14
f.event.dispatch http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js:3:4299
f.event.add/i http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js:3:311
Chrome also says that the fancybox js and css files couldn't be found.
Tried with the deleted folder but no success. Will try with a fresh install of GS and imanager...
Strange that it works on my local host but not on my server.
Hope you have further ideas :-) Thank you again.
Posts: 538
Threads: 12
Joined: May 2013
(2017-02-11, 02:10:02)smsHH Wrote: Hope you have further ideas :-) Thank you again.
not really... ItemManager does not use fancybox, fancybox is a GS component. But, the URL you posted looks pretty messy lol: http://path-to-my-server/admin/http//path-to-my-server/admin/template/js/fancybox/jquery.fancybox.pack.js
I think, that your GS installation is wrecked, what is your "Website URL" in GS settings?
Posts: 57
Threads: 2
Joined: Feb 2015
I am using the recommended website URL in the settings. I have tried it with a fresh install, the path to fancybox is correct now.
I activated only the ItemManager plug in. Same error occurs just right after clicking the 'Start upload' button:
Error SyntaxError: Unexpected token < in JSON at position 0
I found some solutions to solve this problem, maybe (and hopefully) it helps you:
https://www.google.de/search?q=Error+SyntaxError%3A+Unexpected+token+%3C+in+JSON+at+position+0&oq=Error+SyntaxError%3A+Unexpected+token+%3C+in+JSON+at+position+0&aqs=chrome..69i57.462j0j1&sourceid=chrome&ie=UTF-8
Again, no folder for the thumbnails and no thumbnail will be created.
Would you mind checking this on a server? Thank you very much :-)
Posts: 305
Threads: 15
Joined: Mar 2014
2017-02-11, 09:47:54
(This post was last modified: 2017-02-11, 09:50:48 by Tyblitz.)
(2017-02-11, 06:10:21)smsHH Wrote: I am using the recommended website URL in the settings. I have tried it with a fresh install, the path to fancybox is correct now.
I activated only the ItemManager plug in. Same error occurs just right after clicking the 'Start upload' button:
Error SyntaxError: Unexpected token < in JSON at position 0
I found some solutions to solve this problem, maybe (and hopefully) it helps you:
https://www.google.de/search?q=Error+SyntaxError%3A+Unexpected+token+%3C+in+JSON+at+position+0&oq=Error+SyntaxError%3A+Unexpected+token+%3C+in+JSON+at+position+0&aqs=chrome..69i57.462j0j1&sourceid=chrome&ie=UTF-8
Again, no folder for the thumbnails and no thumbnail will be created.
Would you mind checking this on a server? Thank you very much :-)
Hi smsHH,
This is a fairly common Javascript (front-end) error which means either a JSON data file request failed (might be a permissions issue on your server or with incompatible plugin .htaccess files), or the file is not properly formatted (might be an issue with one of your plugins, if it uses JSON. If this is the case you should be able to rule them out by disabling them one by one and seeing if the issue is still there). I suppose you've seen this in the browser console. Typically these errors include a stack trace. Click the little arrow on the left to open it, then click the link next to the @ symbol (see image below):
This will open up the Sources panel in the console, and should highlight the line of code which causes the error.
Ctrl + A copy the code from that file and add it here so we can further help you.
Posts: 538
Threads: 12
Joined: May 2013
2017-02-11, 21:23:45
(This post was last modified: 2017-02-11, 21:35:10 by Bigin.)
At first I thought that it was a permissions issue, but it looks like that there is no issue when saving of other data ...
Maybe, the problem occur during the cropping/resizing of the images, so you get a broken JSON Response.
PS. Take a look into the apache error log to see if IM submits any error messages.
Posts: 57
Threads: 2
Joined: Feb 2015
Thank you very much for your help, Bigin & Tyblitz.
I have installed GS and IM on three different hosts now, on two of them it works perfectly but not on the third. After clicking the 'Start upload' button the following message appears in the Firefox Developers Edition console:
Cannot play media. No decoders for requested formats: image/jpeg, image/jpeg load.php
The accepted file types for the file upload field are gif|jpe?g|png.
In Firefox: NS_ERROR_UNEXPECTED: eval line 1 > eval (same as in my entry #114)
Apache error log contains no error messages.
I thought it's maybe an .htaccess issue, renamend the file, no success. I checked the permissions for the folders, no success.
What a weekend ;-)
Thank you again for your help.
Posts: 538
Threads: 12
Joined: May 2013
Just out of curiosity, which is the third one of the 3 hosts?
Posts: 57
Threads: 2
Joined: Feb 2015
power-netz.de -> I have tested IM on several domain names with that provider - no success.
1&1 and terralink are okay...
Posts: 538
Threads: 12
Joined: May 2013
Thank you smsHH.
Ahh ok, a no-name hoster, with an user interface that looks like it came from the last century. I think that we can just ignore it.
Posts: 57
Threads: 2
Joined: Feb 2015
Thank you and sorry for my late response. Unfortunately the third host is mine but I will ask my provider what the issue could be...
Posts: 538
Threads: 12
Joined: May 2013
2017-02-17, 03:48:37
(This post was last modified: 2017-02-17, 03:55:50 by Bigin.)
ItemManager 2.3.8 is released
Recent changes:
NEW: Item Allocator class - makes easy and quickly work with a huge number of items (1000 >). Also, it simplifies the use of item object, as only the "light-weigth" objects will be loaded into the memory, therefore overhead will be significant reduced. Usage example
NOTE: You can deactivate this function at any time via the "$this->useAllocater = false" in "/plugins/imanager/lib/inc/config.php" file.
NEW: FieldFilepicker - File picker field has been implemented, which makes it possible, using the functions of "i18n_customfields" plugin, the use of GetSimple native images and files from "uploads" directory - at this point many thanks to tomot for his help!
NOTE: This field is enabled only if "i18n_customfields" plugin is in the GS "/plugins/" directory (no installation is necessary).
MODIFICATION: CSS changes - Minimal style changes of pagination and field width.
MODIFICATION: FieldImageupload - Is deprecated and was replaced with newer FieldFileupload field. For compatibility reasons, the FieldImageupload's are still supported, though no longer available when selecting the fields in back-end.
BUGFIX: FieldDatepicker - When selecting the date, when the date format was not specified.
BUGFIX: FieldDatepicker - When you are use several date picker fields (thanks to tomot).
BUGFIX: Check reserved field names when you save category fields.
BUGFIX: Message Reporter - Multiple messages rendering.
BUGFIX: Setup - The date format issue (thanks to morvy for reporting this bug).
BUGFIX: Template Engine - fixed some minor bugs.
BUGFIX: FontAwesome - Restrict include to back-end (thanks to morvy).
Posts: 57
Threads: 2
Joined: Feb 2015
Great, Bigin!
Now the datepicker works again :-) I get an error message though. After clicking the Confirm button when I created the datepicker field, this mesage appears:
Catchable fatal error: Argument 1 passed to Allocator::disalloc() must be an instance of int, string given, called in D:\xampp\htdocs\jk\plugins\imanager\lib\Model.php on line 489 and defined in D:\xampp\htdocs\jk\plugins\imanager\lib\Allocator.php on line 47
Luckily the datepicker field will be saved. Hope that message helps you.
|