Gossamer Forum
Home : Products : Links 2.0 : Customization :

Problem with ID tag

Quote Reply
Problem with ID tag
I recently tried to modify links.def, i erased some parts of it, and everything worked thine.

then, when i went to "build pages", from some reason it's change all the IDs from nmbers to "YES".

here is my links.def file:



# -------------
# Links
# -------------
# Links Manager
#
# File: links.def
# Description: Contains the database definition for links.
# Author: Alex Krohn
# Email: alex@gossamer-threads.com
# Web: http://www.gossamer-threads.com/
# Version: 2.01
#
# (c) 1998 Gossamer Threads Inc.
#
# This script is not freeware! Please read the README for full details
# on registration and terms of use.
# =====================================================================

# Database Definition: LINKS
# --------------------------------------------------------
# Definition of your database file.
%db_def = (
ID => [0, 'numer', 5, 8, 1, '', ''],
Title => [1, 'alpha', 40, 75, 1, '', ''],
Date => [2, 'date', 15, 15, 1, \&get_date, ''],
Category => [3, 'alpha', 0, 150, 1, '', ''],
Description => [4, 'alpha', '40x3', 500, 0, '', ''],
Details => [5, 'alpha', '40x3', 500, 0, '', ''],
Graphic => [6, 'alpha', 40, 75, 0, '', ''],
Priority => [7, 'alpha', 0, 5, 1, 'No', 'No|Yes']
);

# Database file to use -- defined in links.cfg.
$db_file_name = $db_links_name;
# Counter file to use -- defined in links.cfg.
$db_id_file_name = $db_links_id_file_name;
# The column name for the database key.
$db_key = 'ID';
# Database delimeter.
$db_delim = '|';
# Title used in admin output.
$html_title = 'Links Database';
$html_object = 'Link';

# Field Number of some important fields. The number is from %db_def above
# where the first field equals 0.
$db_category = 3; $db_modified = 2; $db_title = 1;
$db_priority = 7;

# Field number to sort links by:
$db_sort_links = 1;

# Field names you want to allow visitors to search on:
@search_fields = (1,4,5);

# System defaults. When adding new links or modifying links, these fields
# can not be overwritten by a user.
%add_system_fields = (
Priority => 'No',
);

# Hash of column names to possible options. If you want to use a select form
# field, you can use &build_select_field in your HTML page. This routine will
# make a <SELECT> input tag using the following values:
%db_select_fields = (
Priority => 'Yes,No'
);

# Hash of column names to radio values. If you use &build_radio_field, it will
# make a <INPUT TYPE="RADIO"> tag for you using the options specified in the hash.
%db_radio_fields = ( );

# Maximum number of hits returned in a search. Can be overridden in the search
# options.
$db_max_hits = 10;

# Use the built in key tracker.
$db_key_track = 1;

# ===========================================================================
# Build up some variables from your definitions. Internal use only.
@db_cols = ();
foreach (sort { $db_def{$a}[0] <=> $db_def{$b}[0] } keys %db_def) {
push (@db_cols, $_);
$db_sort{$_} = $db_def{$_}[1];
$db_form_len{$_} = $db_def{$_}[2];
$db_lengths{$_} = $db_def{$_}[3];
$db_not_null{$_} = $db_def{$_}[4];
$db_defaults{$_} = $db_def{$_}[5];
$db_valid_types{$_} = $db_def{$_}[6];
($_ eq $db_key) and $db_key_pos = $db_def{$_}[0];
}

1;


following is links.db after building the pages:

Yes|סט סטנדרט|25-Aug-2000|Cookware|סט המיועד לזוג נפשות, ומכיל סירים מחבתות ועזרים נוספים||setstandard.gif|Yes
Yes|סט גראנד|25-Aug-2000|Cookware|סט גדול, המיועד למשפחה בת 4-5 נפשות||setgrande.gif|No
Yes|סט יוניברסל|25-Aug-2000|Cookware|סט בינוני, מתאים ל - 3-4 נפשות, מכיל סירים, מחבתות ועזרים נוספים למטבח||setuniversal.gif|No

what should i do to fix it?

Quote Reply
Re: Problem with ID tag In reply to
The problem is that you have removed the following fields:

1) isNew
2) isPopular
3) Rating
4) Votes

These fields are needed to make the build process run as is. You will need to do the following:

1) Delete or rem out (# in front of each line) the subroutine calls in the sub build_all and sub build_staggered for the following subroutines:

a) &build_update_newpop
b) &build_update_ratings

Regards,

Eliot Lee