The search.module utilizes 3 tables (that I am aware of)
search_index si
search_dataset sd
search_totals. st.
si and sd provide a "type" field currently set to 'node' in my db.
I have custom node types that have been indexed and their search terms are stored in the si table.
All data appears normally for default searches.
My client, however needs a custom search restricted to a specific node type, and a specific search screen for searching these types (not the default tab provided by implementing hook_search)
I would like to use the search_form($action='',$keys='',$type='ld',$prompt='') hook in the search.module to restrict the search to this type.
However, when I manually update the type field to the type I need ('ld' in my project) in both the si and sd tables, and set the $type='ld' parameter, the search fails. removing the $type parameter and resetting the fields to 'node' lets me get my search results.
Anybody had any similar experience in this?
thanks in advance.
t
Comments
customsearch running commentary
Okey dokey, moving along, here is where I am at now,
I am going to keep this a running commentary as I develop this thingy, hopefully it will help others and for me it will be keep my thoughts organized as the day goes by.
First, to recap my project requirements.
1. My client needs a search of only a specific custom node type.
2. The search of the custom node type will return a sortable/pageable table
3. The search page for this node type must be its own page.
My first instinct is to leverage the existing API's to accomplish this, but after studying the search.module code (thank you open source!) I have come to the following (possibly incorrect) conclusions:
Requirement 3 somewhat rules out implementing ld_search (where 'ld' is the name of my custom module; ld.module) Implementing this places a tab on the default user search screen. I managed to get that tab to not appear by ommitting the case 'name' in the switch statement.
Requirement 1. kicked my butt yesterday and was the subject of the previous post in this thread..for the life of me, I cannot get search.modules do_search to consistently return my module types even when I make live hacks to the search_index.word field. there were several problems:
when I changed an indexed word from "leader" to "dude" and left the type as 'node' in both the si and sd tables, the engine would return a result for that node.
when I changed the type from 'node' to 'ld' in both tables, I got no results...
when I changed back to 'node' from 'ld' on both tables, I got no results...(bear in mind, I was a bit batty by the end of the day, so my thinking could have been loopy)
I spent too much time trying to identify the source of the above problem and I have to move on.
since I need custom output from the search that will be displayed in a sortable table with headers I believe that the
During the above contortions, it dawned on me that even if I got the correct node types consistently returned in searches, I would not be able to present the data in the format they required (hook_search_item seems to only allow customizing the output on a per-item basis, not to direct the output of the entire search result set--again, I could be wrong about this.)
So, I decided to move and implement my own custom callbacks, utilizing the parts of the api that I can leverage.
The following posts will be a running commentary on my efforts.
t.
custom callback from the menu, for my search form
when the user clicks a link to search for my custom node type, provide a callback to display a custom search form...
$items[] = array('path' => 'ld/ld_search_form_dev'
,'title' => t('Join the Leader Directory')
,'access' => user_access('access ld')
,'type' => MENU_CALLBACK
,'callback' => 'ld_search_form_dev'
);
ld_search_form_dev custom callback
Here, i leverage the search.module's form hook to display a custom search form, thereby meeting one of the project requirements...
return search_form('ld/ld_do_search','keys','ld','Search the Leader Directory');
the arguments to the search_form are $action, $keys, $type and $prompt.
so, I am telling the search form to redirect to the callback ld/ld_do_search .
Next, I see if I can see the redirect and the values of the arguments in my custom page.
summary of what I have learned and am thinking.
I believe that I have correctly leveraged the search.module ->do_search functions and implemented the ld_update_index() hook so that I my module is integrated with the built in drupal search.
The fact that the
like '%% %s %%' AND like '%% % %%'is beyond my immediate control leads me to leave the 'failures' of my search as they are for several reasons.I am very curious if and/or how the search.module interacts with the taxonomy system.
For example, with the categories module, we could 'tag' our custom node type as being a member or non-member of a subset. We could then pull from either subset based on this tagging.
Then, we faced the problem of integrating my custom node information/data with other node types...i.e. a nested configuration of nodes. The tool for that seems to be the views module, which looks like a custom query tool for pulling and presenting data.
Well, the problem would then be, making my data available to views and letting views handle the filtering based on taxonomy--i.e. my custom search implemented without me having to hack at do_search.
I am too new to drupal to answer these questions, but after reading about taxonomies and seeing how easy it is for a web-designer (as opposed to coder) to create data layouts and filter based on taxonomies, the wiser approach is probably there.
Well see.
Hope this running commentary helps somebody--it has helped me by being a reference during my coding.
t.
ld_do_search.
Ok, I left off yesterday with a good result, my custom callback was called by the form
and I managed to get it to print out the values of the $keys argument.
Here is my code in ld_do_search:
and the output was...
ok, that is good news, I have a custom form, a redirect to a place where I can control my own search and output and I have access to the search terms the user entered.
progress.
Now, I still want to leverage the search.module where possible.
From my study of the node.module and search.module, the search.modules do_search() function is the guts of the thing.
I now want to understand exactly what is going on, so I am going to hack at the do_search module returning data/sql at various stages of its progression.
incrementally through the do_search
in my ld_do_search
I am going to trap the output of the do_search module at various stages.
here is my "trapper" code
ok, step 1
Here is the search.modules do_search first few lines of code...
Note that the only two requied arguments for the do_search function are $keywords and $type.
I put in a return statement right after
$query= search_parse_query($keywords);here is what I get
frankly, I have no idea what this is, yet, but lets move on.
next step
after the $query output, the do_search then loads a $conditions variable.
here is the code, with my return statement.
and here is the initial output.
ok, this looks like SQL, I like SQL!
note that the leading
1at the beginning of the output, it is the default value for the$where1argument.what it means, I don't have a clue yet.
next....
next step
Next up from the do_search module is the following lines of code:
I learned that do_search loads data into a temp table and does two passes on it to return a valid result set. I am assuming that 'temp_search_sids' is the name of the table.
What I want to know is what the SQL looks like so I put a return value before the db hit, hoping to get the sql string...
here is my hack
and the output is:
so my initial huch that it looks in the si table (search_index) is correct and it looks by type as well.
that GROUP BY has me a bit worried.....but GROUP BY's always get me worried.
ok, progresss...
next up..
next step $normalize value
Ok here are the next few lines in the do_search function
it looks like 'temp_search_ids is a temp table.
lets take a look at normalize for my given query. I put a return statement right after the db hit
and this is the output...
so it looks like $normalize does not exist and so the function will return an empty array.
lets check that..
I move the return statement to within the if(!$normalize) block...
here is the output.
ok, not good, let me dig out some custom search terms I know exist...
gives me some search terms to try...
lets go do that.
checking to see if I can make $normalize non null
ok, I back track and add some existing search terms from my last comment.
here is the search page with the new search terms
so my keys are there, and its not doing squat.
let me change the 'type' in the tables back to node and see if that fixes it.
now I rerun the output and get...
now I am irritated.
hmmmm.
ok. I can scrap this approach and write my own search or try to grok this and leverage it.
I choose grok. if not grokked by today, then I write my own search on my own tables tomorrow.
bleah.
grok
Ok, lets go back to the original sql...
all my types are back to 'node' in the 'i' table.
so lets hack this a bit and try to get results
I know I have a keyword of 'dude' in the search_index, lets see if I can pull it.
result is...
heh, gotta remove the {} around the table names, back to our regular program, we get...
makes sense,
next take
and I replace the %d with a 1
gets me...
woo hoo!
ok, lets change the type to ld....
and rerun the original sql with the node type changed.
ok, with the above assumptions, I should get a result.
lets check my assumptions.
assumptions...
Ok, from the original sql before $normalize, I need the contents of the array being passed to the db query
lets go get it...
first, the Array in question is the $arguments variable, lets see if I can get it out on a page..
gotta hit the php manual for it, so next comment.
contents of the $arguments variable.
ok,
I add a return to get the thing.
and the output is ...
which would give me a correct where clause of
(I removed the {}'s )
which gives me...
hmmm something else is up....
someghing is up with the select against the temp table..
I don't have access to the temp table, so I am going to hack into another table and run that sql
now I modify the search module to select into my ld_hack table....
I think I will try it as straight sql first...
so that works, that relevance = 0 is worrisome.....
lets try with the drupal first I empty the table
delete from ld_hackand modify the code.
I check if my hack worked and...voila
So , it is getting my keyword on my type, but it is ignoring them.
why. that is the next question.
why is it ignoring my indexed words...
Ok,
first, I am assuming that relevance is of type int10 unsiged....
lets check that assumption against the actual search tables for a clue.
ok, int/float interaction could be bombing the result in ld_hack, lets recreate it and rerun to see if there is a non-zero value
and rerun my hack
and look in the table..
whew, dodged a bullet there.
next up...
okey dokey, my indexed terms for my custom type are being stored
but why are they being ignored....
lets look at the next step in the do_search function of the search.module.
SO I run the sql against my ld_hack table
know, I am still making the assumption that the value in the temp table is the same as the one in my ld_hack table.
lets check MAX against a zero...
ok, so max will return a row...whats up with the db result
lets try another hack...lets hack $normalize.....
hnmmm
hacking the $normalize variable
ok, we are back to where we started to backtrack in this whole thing.
here is the hack in the do_search function
first , I delete from ld_hack in mysql
then I run it.
with the following code on the ld_do_search page.
and we get...
so, I basically backtracked for nothing...ok, lets move on...
but wait, lets check some assumptions.
I am assuming that the $normalize from my hit on ld_hack is the same as the $normalize against the temp table.
lets clean up the db, deactivate my hit and run against the temp table and see if we get the same result.
output is...
ok, assumption was ok.
I need to reread my thread here to see why $normalize originally did not work and the return of 'like dude its not normalize' got triggered.
back after these messages from our sponsor.
t.
why $normalize did not originally work
Ok, it looks like the 'type' field in the search_index table was blowing it up.
first, lets look at the data in the tables
before I run the code, note that the discrepency (my bad) in the search_dataset.type and search_index.type had no effect on the result set so far....
running the code gives me
ok, reproducable results.
now, I am changing search_index.type and search_dataset.type to 'ld' for node 120 and I should get some results back..
and the result is
ok, things are sane again, lets move on.
next up in grokking the do_search...
the $select2 variable is built next..
modify my trap code
gives me
ok, moving on.
second pass in do_search section
OK, we are sane up to here.
here is the next block in the do_search function of the search.module that I need to grok.
I have already added a return to get the $condtions variable.
here is the output
ok, some observations.
what table is 'd' and where is d.data.
it looks like the %%%s%% is escaping the % and filling in for quotes and for the % thingy for the d.data LIKE '%s' where s would presumably be 'dude', but lets hold off.
lets move on to the next stage.
second pass argument value
progressing to the next variable.
since arguments is an array, I modify my trapper code on ld_do_search
and get
so my argument is my keyword...
moving on...
next up is a select into a different temp table...
next line is
this selects into a different temp table, so I create another hack table for storing the result..
and modify the sql
with results
ok, we are getting data to date.
next section
the next line in this section checks for an empty result set
I am assuming that the temp_search_results table matches my ld_hack_2 table.
the next line in the search.module will check that assumption.
I modify my ld_do_search code to trap a string result and we get...
so the temp table had data. next section.
d is search_dataset
what table is d? is in the sql.
Its a good thing I syced up the types in search_dataset and search_index or the query would have bombed.
ok, almost to the end
the final section of the search.module do_search function reads...
now lets see what to do next.
lets go a step at a time.
lets look at teh pager_query arguments to understand what we are seeing.
from the api docs
so, this seems to be saying, select from the temp_search_results table limit to 10 results per page with a select count as the max number in the temp_search_results table.
lets see if I get any results by sticking a return statement in the WHILE loop
I modify my trapping code
and I get...
the result is returned
Ok.
here is the final line in the search.module do_search function.
because of this discussion, we know that $results is a array of arrays from the db hit against temp_search_results which looks like my ld_hack_2 table
so, this is getting really cool.
We now know that the do search function will return an array of *pointers* to node content of my custom type that I can now use to go get hit the db with and return my custom output.
This is a good stage to go grab a salami sandwich, but first, some random thoughts.
the node.module, where it invokes do_search has the following code...
ignoring the nodeapi calls, we see that there are no other db calls involved (unless the node_load function has one...lets check that.
well, well, it does here is the code
and that, my friends is the answer to this problem.
I will invoke the do_search function to get a list of pointers to nodes of my custom type.
I will then semi-duplicate the node_load function with something I think up after lunch.
During that node_load semi_duplication, I will do my db calls with the pager_query to get my output .
I am feeling better.
I will summarize in the next comment. after my salami sandwich.
lets verify that...
ok, I *know* that I will be getting an arrray of arrays that contain data like in my ld_hack_2 table.
now, my php array handling skills really stink, so let me scrounge up a way to get the data from there and verify my result...
ok, don't panic, lets try this.
I get the following result
so, I my assumption is correct, I have an array of arrays containing the type,sid (aka nid) and relevance or score for custom node types containing the search term 'dude'
DUUUUUDE!
thats a starting point for the next section...getting my search results. displayed on a sortable table output thingy.
stage summary
Ok, lets take a breath and recap where we are...
no use to go extract my custom content.
so, to continue, I need to
One final thing to keep in mind....
dude, you need to learn to spell!
I am at home, now drinking a few brews reading my post and noticing I can't spell for dirt.
sorry for any confusion that may result.
t.
I have search results using do_search, lets continue
ok, lets clean up the ld_do_search page to do a call to build some sql or something....
hmmm, let me think about this.
ok, I am not going to give away the structure of my client's database, but here is the structure of the ld_s
gives me the following result
I am NOT going to worry about the duplicate node ids at this point, I can clean that up later.
I am going to build my sql and figure out the pager_query stuff or whatever I need to display a sortable, columnized table.
I may have to pick up posting tomorrow because the sql may be a bit tricky to develop.
thanks for listening !
this has helped me, I hope it helps somebody out there.
good stuff
I think this is what I've been looking for! Keep up the good work!
thanks,
I still have an issues with multiple keys in the search, but I am able to display *some* search results to my client.
I will be focusing on the presentation side for a bit, but will come back to this thread, soon.
thanks again for the compliment.
t.
no multiple results problem solved
Short answer, my bad sql/data in a development db with some crufty data.
Here is how I found out.
My custom search hook starts out looking like this...
My _ld_build_search_results _sql() fcn takes the keys,etc returned from the do_search function and returns sql that will return my customer's data.
On a hunch, I wanted to verify that the $find array only had one element, so I modified my code as follows:
and I got.
Which tells me the core drupal search functionality is working exclusivelly against my custom node type (WOO HOO!) and that the problem is with crufty data in my custom tables for my custom node type.
The data portion of this project has been solved.
now onto the presentation.
hook_update_index implemented
In order for my new custom nodes content to be indexed by the search engine, I implement hook_update_index.
The pseudo-code for this is basically.
It works.
problem. single term searches work, but not mulit-term searches
I have to debug an issue, here.
I have a couple of issues going on to resolve.
Here is one of them.
When I run a search against one term in one node (that has been indexed, correctly) I get correct results.
When I use two terms spanning indexed nodes (my custom node types) I get no results.
When I search for one value, I get
debugging multiple search terms crashing
Ok,
In my earlier work, in this comment: http://drupal.org/node/124963#comment-207924 on this topic, I glossed over the
$query=search_parse_query($keywords)function.Here I pick it up.
First my 'trapper code' in the ld_do_search fcn
Here is I have written some debugging code in the search modules do_search function...
Here is the output:
the next portion of the search.module.do_search is
we see that $query[2] contains keywords (I will check it anyways in next comment.
I don't think the other if will happen either, but lets check it.
on to the next post.
continuing with multiple search term debugging
As stated in previous comment, I am verifying the search.module.do_search function does not kick me out here:
and the output is.
we see that niether 'not hunky' nor 'not dory' printed so ipso-facto things are hunky-dory!
continuing....
$query is hunky-dory so lets move on...
This is getting reminiscent of my earlier posts, so I am going to speed it up a but...
Next up are the $conditions, $arguments variables, the ld_hack temp table and the $normalize variable as discussed in previous comments on this thread.
here is the code in search.module->do_search with my print statements in their to track it.
here is the output:
and here is the rows in ld_hack
mysql> select * from ld_hack;
Empty set (0.06 sec)
So we see that an empty array is being returned because the ld_hack table is not being populated.
that points to the SQL.
onword.....
bug points to the SQL
Here is the ld_hack insert sql (with brackets removed from table names)
I first check that the inner join 'should' work with mysql prompt.
so that join should work..
hmmmj,
lets see if I can trap join1 for any wierdness
trapping join1 for weirdness
I really think the culprit is that 'HAVING COUNT(*) >= %d' part, but lets check join1 for completeness.
the print code is:
result is:
so the $join1 is probably and empty string and not effecting the SQL.
back to the SQL.
onto the sql, found the culprit...
Here is the resultant SQL when the $conditions and $arguments variables are factored into the db_query
running just the SELECT portion of this gives me:
I change the 2 to a 1 in the HAVING COUNT..section like this:
and I get
So, the question becomes...how does that 2 get into the $arguments array variable?
Can I influence it?
Is it a built in part of drupal?
on to grokking the arguments array....
grokking arguments array, can I influence it?
Ok,
$arguments array in search.module->do_search function is defined initially, by this code.
the array_merge function http://www.php.net/manual/en/function.array-merge.php
"usually" appends the elements of arrays to each other and returns the
resulting array, looking at the arguments above I can surmise that $arguments is built from...
$arguments=array_merge(array(),('exper','programming'),('ld',2))
which does in fact look like the output from my dump code:
the culprit is therefore that $query[4] value.
and it got there via the very first line in the search_module.do_search function:
therefore. onto
search_parse_query($keywords);but tomorrow! I am beat.
ok, I got a bit more in me...
First, lets I make sure the $keywords argument to the call is valid..
and they are good
Next I look at the search.module->search_parse_query(....) function and it is a BIG HONKING function.
So, I cut to the chase and look at the return statement:
and then I add print statements for each of the arguments to it, before the return...
and I get:
so, it looks like $matches is the culprit, but first lets check arguments1 and 2 for completeness in next comment...
checking arguments and arguments2 for completeness
First, I modify my print code as follows:
and the output is:
hmmm, based on past drupalness in functions, I had expected arguments2 to be null, but both arguments and arguments2 contain the same values.
Maybe that has an influence on $matches.
However, $matches is the culprit.
so lets grok that...
checking arguments and arguments2 for completeness
First, I modify my print code as follows:
and the output is:
hmmm, based on past drupalness in functions, I had expected arguments2 to be null, but both arguments and arguments2 contain the same values.
Maybe that has an influence on $matches.
However, $matches is the culprit.
so lets grok that...
grokking $matches variable...
$matches is in the heart of the function search_parse_query($text) {
function and I am beat.
I will pick it up in the a.m.
later.
good morning, time to figure out $matches, et all
The search.module->do_search function has developer comments that state:
so I am probably dealing with a design decision that states that only those terms with more than one occurance will show up....
I add the below code to manually hack this and set $matches to 1
and the result is...
Ok, the
HAVING COUNT>=2only influenced putting data into the temp table and my ld_hack table, so I check that...which is good.
EXCEPT the search returns no results, so the problem is lower in the code.
hmmm.
going on...
Looking lower in the code, I am revisiting my ld_hack_2 stuff from early in this adventure...
Here is the next area of code:
I run it and check the ld_hack_2 table.
lets verify that temp_search_results is empty as well and returning an empty array..
ok, so it is pointing to the next sql
onto the next sql
Ok,
here is the insert sql
ok, we see that temp_search_sids (equivalent to my ld_hack table) is joined against the search_dataset table on sids...lets check that first.
so the join is not the issue.
Lets check the variables using print statements...
and the result is.
hoo-boy....ok, let me analyze this.
mapping out the arguments above, I get the following db_query...
which translated into a mysql call is
where I replace the temp_ table with my ld_hack.
I will run this in the next comment and take it apart
found it.
While I was waiting for the last comment to post, I ran the following sql...
I cut to the chase and looked at the d.data like clause and ran
ok, the problem is in the search_dataset.data field not containing the terms.
I verify the sids are there., first
ok, definitely the in clause..
I look in the data fields for these nodes...
and the terms are there....
crap.
I try the following...
double crap.
ok, I think I am really going to have to hack the search.module
but first, I am going to give this a bit of distance....
I will get back after I calm down.
t.
Where to look next
The search is working until trying to join using like against the search_dataset.data field.
That field is populated by my module in the ld_update_index hook.
Where I will look next is in how I am populating it--maybe I need to look at things differently there.
back tomorrow.
t.
then again...
single search terms work and I am assuming it uses the same join.....
I will trace the sql tomorrow using a single search term to maybe get a clue.
t.
A bit of distance clarifies things a bit.
Chatted with a co-worker and he suggested I change the AND to an OR
Well, that rules out me tagging the data incorrectly in the ld_update_index() function. If it was mis-tagged, it would not show up with the OR flag either.
I now have a valid reason for "letting go" of this topic for now. That AND is part of the core search routine and I will not be hacking it for several reasons.
I will summarize in my last ? post on this subject for a while.
solution found
A coworker of mine, hit on the solution to the indexing problem.
Simply move the code from hook_update_index to hook_nodeapi in the 'update index' case.
That solved the indexing problem and now the search works correctly (:
I don't have time to delve into the 'why' of it as I have a deadline, but the fix is there and I am confident enough to use custom searches going forward.
here is the code from the nodeapi 'update index' call:
and it worked.
all the best,
t.
my approach to a custom search page
Hello there fellow,
stumbled across your posting while looking for some answers to that question myself. But damn is your posting long. I will go through it and see what you have come up with but i just wanted to first quickly share how i approached that problem which i doubt was the cleanest solution.
i had a custom vacancy node and i wanted an extrinsic search much as you did. I created a modification of drupal v4.7's do_search() which does not produce a paged result. instead it returns an array of all the matching node ids strictly for my custom node and simply include those as part of an sql 'nodeid in (, , ...)' predicate in my custom query. after that it's just a matter of putting the results into a table on my custom page.
this solution works fine but i would prefer one that does not involve re-implementing an existing drupal function. to be honest i haven't really search for other user contributions prior to reading the drupal source and coming up with that solution so there might very well be a better way. anyhow hope this helps.
Kris Dover
Unemployed Drupal User
Preferring one that does not involve re-implementing...
Hi Kris,
My preference is/was the same as yours--leverage existing modules.
What kicks me now, is that I can clearly see indexed words for my custom modules in the search_index table and in the search_dataset table, but I don't get results for my search.
At the end of the day, I hope to have a coder's knowledge of the do's and don'ts for drupal searching.
btw, my technique of long posts is just a running commentary, so I can ramp up to the problem again when I get pulled away by other tasks. It really helps me!
Best of luck.
t.
Why not doin it via a MYSQL search like in tirp search module?
Hi prgrcmpny,
I have a simelar problem with the search.module. But i´m trying now the tripsearch.module for it, it looks better for me to make a SQL search.
http://drupal.org/project/trip_search
Maybe that will help you.
Dirk
thanks for the link
Thanks for the link Dirk,
I will definitely consider it in the future.
Cordially,
p.
Search in Drupal
Hi P,
at the moment i´m doing a advanced profileplus module for better user search. If you are intrested i can give you th code tomorrow.
(I hope i will finish it untill Tomorrow)
Dirk
thank you, but
Thanks for the offer, Dirk, but I am on a project deadline.
regards,
p.
Me to
Hi p.
me to and i´m becoming crazy of Drupal...........
Nothing works without changing the modules. But maybe my clients want´s stuff that nobodyhas until now. The usersearch is working now But i still have some problems with multiple keywords.
Dirk
multiple keyword search
our solution for the multiple keyword search problem was moving the indexing from the hook_update_index to the hook_nodeapi('update index') case.
advanced profileplus module
What version of Drupal are you developing it for?
views_fastsearch
Looks like you had a long running conversation with yourself, that I admin, I didn't get completely through. I wanted to point you to views and the views_fastsearch modules. You can create a view with filters for both content types and exposed search terms. The search filter that comes with views handles the search.module query buiding. The views_fastsearch filter adds an alternative filter that creates faster SQL (requires mysql 4.1).
It seems that you've played with search.module extensibly, and I'd like to invite you to the discussion in the newly formed search working group. I'm trying to optimize the search.module queries to not use temporary tables. Have you had any success with that?
Doug Green
search working group.
Hi,
Thanks for the invite and the pointers to views_fastsearch.
I have subscribed to the group and will be a fly on the wall for a bit.
hmmmm, optimizing the search.module queries to not use temp tables....I haven't done that but let me think about it.
cordially,
t.
Remove search details
As I am new to Drupal I hope I posted in the right section.
I use a search to gather text ads.
This is info on the search module:
; $Id: search.info,v 1.3 2006/11/21 20:55:35 dries Exp $
name = Search
description = Enables site-wide keyword searching.
package = Core - optional
version = VERSION
; Information added by drupal.org packaging script on 2007-01-30
version = "5.1"
project = "drupal"
________________________________
And next to this I use the ad module:
; $Id: ad.info,v 1.1.2.1 2007/02/24 13:03:56 morbus Exp $
name = Ad
package = Ad
description = An advertising system for Drupal powered websites.
; Information added by drupal.org packaging script on 2007-06-06
version = "5.x-1.1-rc3"
project = "ad"
datestamp = "1181154302"
_____________________________________
The problem I have is that when I search for keywords, to much details are exposed.
Search results are presented like this:
[ Link to external website ]
[ Aanhangwagens | Betanco ] Betanco trailers - voor al uw trailers en Aanhangwagens Links to http://www.betanco.nl/ . Status ...
Advertisement - fabian - 05/30/2007 - 14:02 - 0 reacties - 0 bijlagen
I want to hide / remove all info from 'Links to http:// .....' to the end 'bijlagen = attachements'
When I click a link on a search page, it jumps to the 'expanded ad' (no shorter version) but it also shows the 'Link to and STATUS info'.
Please would anyone help me remove / hide these details?
Thank you very much!!