One-click searches

### 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 << >>