Welcome to Geeklog, Anonymous Thursday, November 28 2024 @ 11:46 am EST
Geeklog Forums
Block Creation
Whoosh
Anonymous
I'm trying to create a tree menu block for GL. I don't wish to use the menuplugin because it requires I set up topics when I just wish to have a bunch of options and suboptions that will display staticpages and forms. (I tried using the menu plugin and after about 50 topics and subtopics I just had a big administrative mess.)
I have the tree code done (modified some existing public domain code). It works fine, independent of GL. When I put it in index.php it also works, but unfortunately it shows up in the place where articles display (this happens because I put the code after the header is displayed. The header displays leftblocks and my code is not yet set up as a left block).
Just as a test, I put my code in a function within lib-common.php (like the COM_userMenu function). I also added a " menu_block" block entry in the blocks table. Finally, I added a case entry to COM_showblock so that my function will be called when lib-common is included.
When I ran GL, my menu block showed up. It looked just grand. The URLs seem to be set properly for each entry. Unfortunately, when I clicked to expand an entry, nothing seemed to happen. Control needs to get back to my function and I don't think that this is happening.
I am wondering if anyone might have some help here for me based upon what I have said. I'd pay for someone to do this, but I really want to do it myself (tired of GL being such a blackbox to me).
Hope somebody can help a bit.
Thanks!
I have the tree code done (modified some existing public domain code). It works fine, independent of GL. When I put it in index.php it also works, but unfortunately it shows up in the place where articles display (this happens because I put the code after the header is displayed. The header displays leftblocks and my code is not yet set up as a left block).
Just as a test, I put my code in a function within lib-common.php (like the COM_userMenu function). I also added a " menu_block" block entry in the blocks table. Finally, I added a case entry to COM_showblock so that my function will be called when lib-common is included.
When I ran GL, my menu block showed up. It looked just grand. The URLs seem to be set properly for each entry. Unfortunately, when I clicked to expand an entry, nothing seemed to happen. Control needs to get back to my function and I don't think that this is happening.
I am wondering if anyone might have some help here for me based upon what I have said. I'd pay for someone to do this, but I really want to do it myself (tired of GL being such a blackbox to me).
Hope somebody can help a bit.
Thanks!
9
8
Quote
Status: offline
Blaine
Forum User
Moderator
Registered: 07/16/02
Posts: 1232
Location:Canada
Does this menu have a form and your posting or are these just links. You can do both but i'm assuming these are links. I'd verify that you are posting correct HTML <a> tags for the links.
If you have a function defined in lib-custom and it returns proper formated HTML and not echoing it out. Then you can just create a php block in the editor and call it. You won't have to modify COM_showBlock() or manually add it to the blocks table.
Geeklog components by PortalParts -- www.portalparts.com
If you have a function defined in lib-custom and it returns proper formated HTML and not echoing it out. Then you can just create a php block in the editor and call it. You won't have to modify COM_showBlock() or manually add it to the blocks table.
Geeklog components by PortalParts -- www.portalparts.com
8
7
Quote
Whoosh
Anonymous
Thanks for your reply, Blaine. About a month or so ago I had a wicked problem (at least for me) and you helped. I finally got that problem solved and learned buckets.
Basically I have a simple flat file that stores my menu entries and targets in a heirarchy. The target can be anything, a link to another php file (staticpage, a form, etc.) or a file to be downloaded, etc. The code expands and collapses the menu based upon the contents of the flat file.
Currently, the html is all being stored in a variable $retval. As I said, when I put the code in index.php, it works just fine - only it shows in the article display region instead of in a leftblock. So I know the code at least returns good html.
Okay. I'll look into creating a php block. I was hoping to modify the GL core so that I could learn how it is all put together. I am just amazed by it. As you know, I'm pretty new to PHP. So I have never seen anything like this before.
Two last questions: are there any performance, security (or other) issues with which I should be concerned if I create the php block and call it? And are you still coding for hire? I may get in too deep and want someone to code and comment this so that I can learn it.
Thanks!
Basically I have a simple flat file that stores my menu entries and targets in a heirarchy. The target can be anything, a link to another php file (staticpage, a form, etc.) or a file to be downloaded, etc. The code expands and collapses the menu based upon the contents of the flat file.
Currently, the html is all being stored in a variable $retval. As I said, when I put the code in index.php, it works just fine - only it shows in the article display region instead of in a leftblock. So I know the code at least returns good html.
Okay. I'll look into creating a php block. I was hoping to modify the GL core so that I could learn how it is all put together. I am just amazed by it. As you know, I'm pretty new to PHP. So I have never seen anything like this before.
Two last questions: are there any performance, security (or other) issues with which I should be concerned if I create the php block and call it? And are you still coding for hire? I may get in too deep and want someone to code and comment this so that I can learn it.
Thanks!
8
8
Quote
Status: offline
Blaine
Forum User
Moderator
Registered: 07/16/02
Posts: 1232
Location:Canada
Quote by Whoosh: Two last questions: are there any performance, security (or other) issues with which I should be concerned if I create the php block and call it? And are you still coding for hire? I may get in too deep and want someone to code and comment this so that I can learn it.
Thanks!
Thanks!
Woosh, I think on large sites you need to be more careful about the SQL calls and amount of data your handling but smaller sites can get away with a lot more. I've also seen performance issues with large javascript functions sorting thousands of elements. But in most cases, you can do quite a bit server side and get away with resonable performance.
I'm always interested in doing custom work or assisting on projects. I've had a few clients recently that needed a few hours of support to be more self sufficient and they were pleased and felt it was well worth it.
Geeklog components by PortalParts -- www.portalparts.com
8
8
Quote
Whoosh
Anonymous
Thanks Blaine. I'll try my best and if I have to, I'll contact you through portalparts.com (which is a very nice site, btw).
7
9
Quote
All times are EST. The time is now 11:46 am.
- Normal Topic
- Sticky Topic
- Locked Topic
- New Post
- Sticky Topic W/ New Post
- Locked Topic W/ New Post
- View Anonymous Posts
- Able to post
- Filtered HTML Allowed
- Censored Content