1. после изменения списка через ajax+js отваливается js-обвязка магазина и по кнопке «купить» происходит переход, а не добавление товара в корзину. Как это победить?
Это уже к Сергею proxyfabio вопрос, как это победить, но вообще логично, что не работает. Дело в том, что когда у тебя страница загружается, инициализируются нужные элементы, а когда у тебя ajax-ово подгружаются и по сути создаются новые, на них не навешано событие обработки. В ранних версиях jQuery был такой метод live(), который работал почти что как bind() с той лишь разницей, что он создавал обработчик, который всегда срабатывал на элементах с заданным селектом. То есть это бы тебя спасло именно в этой ситуации. Создается новый элемент, но для него всегда есть обработчик. Сергей, есть ли у нас сейчас какой-то аналог метода live()?
2. при переходе на другую страничку в getpage через ajax location в адресной строке не меняется, и при обновлении страницы соответственно грузится первая страница. как-то можно сделать так, чтобы в адресной строке location менялся, но переход не происходил?
Опять-таки логично. getPage отталкивается от текущего ресурса для формирования адреса. У тебя всегда одна и та же страница для обработки Ajax-запросов. Верно? Поэтому и адрес один. Нам повезло на Сергеев, и Сергей husband написал замену getPage-у на Smarty. Спроси в чате у него про эти наработки и используй их.