PagePromotion 改成 id 存 page_id
加上 Cell->invalidCell() ，可以讓某些格子的值清掉讓人繼續輸入