Ajeh:
You can do it one of two ways ...
You can change the cost in the Table Rate table to 0.00 when the $order->delivery['city'] is the free city ...
Note: the one concern is typos or abbreviations on the City ...
But, you could check the:
$order->delivery['city']
and when it is the Free City you can change cost to 0.00 ...
Would that work for you? Or do you need a separate shipping module for the Free City?
The best I could get city free fripping was to add this to modules/shipping/tables.php:
LOOK FOR: $this->quotes = array('id' => $this->code,
and place the bellow JUST above that line of code to look like this :
// CITY HACK BEGIN
$cityList[] = "montreal";
$cityList[] = "city2";
$cityList[] = "city3";
$cityList[] = "city4";
$cityList[] = "city5";
if (in_array(trim(strtolower($city)), $cityList)) {
$shipping=0;
}
// CITY HACK END
$this->quotes = array('id' => $this->code,
Hope this helps anyone trying to accomplish this.
If anyone can help make this better, please do...
Cheers,
Johnny