PDA

View Full Version : Useful function when you are coding addons


hamoe
27 Jul 2002, 18:26
Last night I coded the main page for http://www.fexboards.com, and before that I coded the tutorial database for that same site (organized very similar to this sites hack section, although I believe coded quite differently). I knew I was going to have to deal with a lot of repeating-element templates. By repeating-element templates, I mean templates such as the infamous postbit template, something which when its finally used, will be echoed out many times in a row in accordance with the results of a database query. The function I wrote has you supply a comma separated list of variables as they would appear in the database query, your master template name, your subtemplate name, the table(s) present in the from clause of the query, and the conditions under which the selection will take place (the where clause, you can also include order by and group by stuff here).

An example of its use is as follows:


Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------


That one function call right there will store all the iterations of the mainpage_top10posters template, filled with the top 10 posters' information, into $mainpage[top10posters]. That means after you run this you can just include your final template that just echoes out $mainpage[top10posters] where its needed.

The main limitation is that you cannot do any processing on the variables. If you wanted to loop through posts and you wanted to parse the pagetext with bbcodeparse(), you would have to hack up the function or just forget about using it. Nonetheless, I have found it pretty useful.

Comments/criticism/suggestions appreciated. The function is attached.

hamoe
29 Jul 2002, 04:50
I just realized this would probably do better in the Hacking Hints and Tips forum. If some bored mod feels like moving it for me it would be appreciated :)

Chen
29 Jul 2002, 09:14
Umm, this could be written a lot shorter and faster...



Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------

hamoe
29 Jul 2002, 09:38
Thanks a lot, firefly. I feel really dumb about not realizing that I could have gotten fieldnames from the mysql_fetch_array() results. I haven't gotten used to the functions in vb quite yet, so I can almost justify my unneeded usage of output buffering. And nice call on defaulting the last argument to ''.

I still think this function is pretty useful, but use firefly's revised version, does the same thing but with less code and less load :)

DrkFusion
31 Jul 2002, 00:31
How would I apply this?
I want to change


Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------


to that.

Thanks
Drk

DrkFusion
31 Jul 2002, 02:12
bump

Drk

Chris M
31 Jul 2002, 02:18
Arunan -

Shouldnt it be?



Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------



???

Satan

DrkFusion
31 Jul 2002, 02:20
It is, but its not repeating the link in reviews.php

Drk

Chris M
31 Jul 2002, 02:25
Ok...But at least it calls the right variable;)

Its a start...

Now we just need help:)

Satan

DrkFusion
31 Jul 2002, 02:35
Chen? Hamoe? come on guys :)

Drk

hamoe
31 Jul 2002, 02:54
Hey I'm here. What I am wondering is why you don't just have that link in your template file....



Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------




Can you not just have that link that I took out in your template? Here is how the function call would look:

loop_template("*", "reviews","list", "reviews");

In your template the variables will be available to you like this:

$reviews[list_fieldname]

All other variables you want to use that arent taken from the mysql query are just available how you would expect them.

DrkFusion
31 Jul 2002, 02:57
Thanks man, you are the coolest person around, can you help me further on aim, if you have it :)

my friend sat ScapeStudio, I am at his house :)

Thanks

Chris M
31 Jul 2002, 03:14
Cool...:)

Satan

SaintDog
31 Jul 2002, 05:24
Originally posted by hamoe
I just realized this would probably do better in the Hacking Hints and Tips forum. If some bored mod feels like moving it for me it would be appreciated :)

Bored....Moved.... ;)


- SaintDog

hamoe
01 Aug 2002, 07:36
lol, thanks saintdog, i knew someone would get bored eventually :)