Index  Up  <<  >>  


One-click searches

MiniVend allows you to pass a search in a URL, as shown before. Just specify the search with the special page parameter search or special page scan. Here is an example:

     [page search="
                se=Impressionists
                sf=category
            "]
        Impressionist Paintings
     [/page]

This is the same:

     [page scan se=Impressionists/sf=category]
        Impressionist Paintings
     [/page]

Here is the same thing from a home page (assuming /cgi-bin/vlink is the CGI path for MiniVend's vlink):

     <A HREF="/cgi-bin/vlink/scan/se=Impressionists/sf=category">
        Impressionist Paintings
     </A>

The two-letter abbreviations are mapped with these letters:

  ac  mv_all_chars
  bd  mv_base_directory
  bs  mv_begin_string
  co  mv_coordinate
  cs  mv_case
  cv  mv_verbatim_columns
  de  mv_dict_end
  df  mv_dict_fold
  di  mv_dict_limit
  dl  mv_dict_look
  DL  mv_raw_dict_look
  do  mv_dict_order
  dr  mv_record_delim
  em  mv_exact_match
  er  mv_spelling_errors
  ff  mv_field_file
  fi  mv_search_file
  fm  mv_first_match
  fn  mv_field_names
  hs  mv_head_skip
  ix  mv_index_delim
  lb  mv_search_label
  lo  mv_list_only
  lr  mv_search_line_return
  md  mv_more_decade
  ml  mv_matchlimit
  mm  mv_max_matches
  MM  mv_more_matches
  mp  mv_profile
  ms  mv_min_string
  ne  mv_negate
  ng  mv_negate
  np  mv_nextpage
  nu  mv_numeric
  op  mv_column_op
  os  mv_orsearch
  ra  mv_return_all
  rd  mv_return_delim
  rf  mv_return_fields
  rg  mv_range_alpha
  rl  mv_range_look
  rm  mv_range_min
  rn  mv_return_file_name
  rr  mv_return_reference
  rs  mv_return_spec
  rx  mv_range_max
  SE  mv_raw_searchspec
  se  mv_searchspec
  sf  mv_search_field
  sg  mv_search_group
  si  mv_search_immediate
  sp  mv_search_page
  sq  mv_sql_query
  sr  mv_search_relate
  st  mv_searchtype
  su  mv_substring_match
  tc  mv_sort_command
  td  mv_table_cell
  tf  mv_sort_field
  th  mv_table_header
  to  mv_sort_option
  tr  mv_table_row
  un  mv_unique
  va  mv_value

They can be treated just the same as form variables on the page, except that they can't contain a newline. If you use the multi-line method of specification, the characters will automatically be escaped for a URL.

IMPORTANT NOTE: An incompatibility in earlier MiniVend catalogs is specifying [page scan/se=searchstring]. This is interpreted by the parser as [page scan/se="searchstring"] and will cause a bad URL. Change this to [page scan se=searchstring], or perhaps better yet:

    [page search="
                    se=searchstring
            "]
          
cause a bad URL. Change this to C<[page scan se=searchstring]>.

You may specify a one-click search in three different ways.

Original
If you wish to do an OR search on the fields category and artist for the strings ``Surreal'' and ``Gogh'', while matching substrings, you would do:

 [page scan se=Surreal/se=Gogh/os=yes/su=yes/sf=artist/sf=category]
    Van Gogh -- compare to surrealists
 [/page]

In this method of specification, to replace a / (slash) in a file name (for the sp, bd, or fi parameter) you must use the shorthand of ::, i.e. sp=results::standard. (This may not work for some browsers, so you should probably either put the page in the main pages directory or define the page in a search profile.)

Multi-line
You can specify parameters one to a line, as well.

    [page scan
        se="Van Gogh"
        sp=lists/surreal
        os=yes
        su=yes
        sf=artist
        sf=category
    ] Van Gogh -- compare to surrealists [/page]

Any ``unsafe'' characters will be escaped. If you need to search for trailing spaces (unlikely) you must quote.

Ampersand
You can substitute & for / in the specification and be able to use / and quotes and spaces in the specification.

 [page href=scan se="Van Gogh"&sp=lists/surreal&os=yes&su=yes&sf=artist&sf=category]
    Van Gogh -- compare to surrealists
 [/page]

Any ``unsafe'' characters will be escaped.


Index  Up  <<  >>