SGP: add season pass mode at recommend page
This commit is contained in:
parent
86d9c4683f
commit
b57750e134
380 changed files with 17810 additions and 3933 deletions
|
|
@ -1,18 +1,19 @@
|
|||
from pathlib import Path
|
||||
import json
|
||||
|
||||
if False:
|
||||
print("params=" + param)
|
||||
print( "dir= " + directory_to_process + "/page_catalog_group_recommend.lxml");
|
||||
file_xml = open(directory_to_process + "/page_catalog_group_recommend.lxml", 'r')
|
||||
file_content_main = file_xml.read()
|
||||
#print(file_xml.read())
|
||||
# ; include-file=dummy_layout.inc
|
||||
file_inc = open(directory_to_process + "/dummy_layout.inc", 'r')
|
||||
file_inc_content = file_inc.read()
|
||||
print("params=" + param)
|
||||
print( "dir= " + directory_to_process + "/page_catalog_group_recommend.lxml");
|
||||
file_xml = open(directory_to_process + "/page_catalog_group_recommend.lxml", 'r')
|
||||
file_content_main = file_xml.read()
|
||||
#print(file_xml.read())
|
||||
# ; include-file=dummy_layout.inc
|
||||
file_inc = open(directory_to_process + "/dummy_layout.inc", 'r')
|
||||
file_inc_content = file_inc.read()
|
||||
|
||||
|
||||
file_xml.close()
|
||||
|
||||
file_xml.close()
|
||||
|
||||
if "template1" in param:
|
||||
file_inc2 = open(directory_to_process + "/event/promotion_template1.inc", 'r')
|
||||
file_inc2_content = file_inc2.read()
|
||||
file_inc_img = open(directory_to_process + "/../image/event/image_template1", 'r')
|
||||
|
|
@ -63,7 +64,7 @@ if False:
|
|||
file_xml3.write( content_data)
|
||||
file_xml3.close()
|
||||
|
||||
|
||||
if "template2" in param:
|
||||
file_inc2 = open(directory_to_process + "/event/promotion_template2.inc", 'r')
|
||||
file_inc2_content = file_inc2.read()
|
||||
file_inc_img = open(directory_to_process + "/../image/event/image_template2", 'r')
|
||||
|
|
@ -113,7 +114,8 @@ if False:
|
|||
file_xml3 = open(directory_to_process + file_xml3_out_content, 'w')
|
||||
file_xml3.write( content_data)
|
||||
file_xml3.close()
|
||||
|
||||
|
||||
if "template3" in param:
|
||||
file_inc3 = open(directory_to_process + "/event/promotion_template3.inc", 'r')
|
||||
file_inc3_content = file_inc3.read()
|
||||
file_inc_img = open(directory_to_process + "/../image/event/image_template3", 'r')
|
||||
|
|
@ -164,3 +166,362 @@ if False:
|
|||
file_xml3 = open(directory_to_process + file_xml3_out_content, 'w')
|
||||
file_xml3.write( content_data)
|
||||
file_xml3.close()
|
||||
|
||||
|
||||
if "template4" in param:
|
||||
# NOTE: promotion_template4.inc, image_template4, promotion_onclick4.inc, out_put_file4.txt
|
||||
|
||||
# promotion 4
|
||||
file_inc3 = open(directory_to_process + "/event/promotion_template4.inc", 'r')
|
||||
file_inc3_content = file_inc3.read()
|
||||
file_inc_img = open(directory_to_process + "/../image/event/image_template4", 'r')
|
||||
file_inc3_img_content = file_inc_img.read()
|
||||
|
||||
# replace key.
|
||||
|
||||
sp_key = file_inc3_img_content.split("\n")
|
||||
print("sp_key = " + str(len( sp_key)))
|
||||
for sp_line in sp_key:
|
||||
sp_line = sp_line.strip()
|
||||
key_val = sp_line.split("=")
|
||||
print("Kenta420:", key_val)
|
||||
if len( key_val) == 2:
|
||||
print("k = " + key_val[0] + " val=" + key_val[1])
|
||||
file_inc3_content = file_inc3_content.replace( "###" + key_val[0], '"' + key_val[1].strip() + '"')
|
||||
|
||||
|
||||
file_inc_event_click = open(directory_to_process + "/event/promotion_onclick4.inc", 'r')
|
||||
file_inc_event_click_content = file_inc_event_click.read()
|
||||
|
||||
file_inc3_content = file_inc3_content.replace("###EventOnClick", file_inc_event_click_content)
|
||||
|
||||
|
||||
print(file_inc3_content)
|
||||
|
||||
#print( file_inc_content)
|
||||
content_data_was_repack = file_content_main.replace(";dummy_layout.inc", file_inc_content)
|
||||
content_data = content_data_was_repack.replace(";BigLogoLayout", file_inc3_content)
|
||||
|
||||
begin_text = content_data.index(";TAGESP")
|
||||
end_text = content_data.index(";TAGESP", begin_text + 7)
|
||||
#print("sub text = " + str(begin_text) + " end = " + str(end_text))
|
||||
tmp1 = content_data[: begin_text - 7]
|
||||
|
||||
tmp3 = content_data[ end_text:-1]
|
||||
#print("tmp1=" + tmp1)
|
||||
#print("tmp3=" + tmp3)
|
||||
|
||||
content_data = tmp1 + tmp3
|
||||
|
||||
file_xml3_out = open(directory_to_process + "/event/out_put_file4.txt", 'r')
|
||||
file_xml3_out_content = file_xml3_out.read()
|
||||
file_xml3_out_content = file_xml3_out_content.strip()
|
||||
file_xml3_out_content = file_xml3_out_content.replace("\r", "")
|
||||
file_xml3_out_content = file_xml3_out_content.replace("\n", "")
|
||||
|
||||
file_xml3 = open(directory_to_process + file_xml3_out_content, 'w')
|
||||
file_xml3.write( content_data)
|
||||
file_xml3.close()
|
||||
|
||||
|
||||
|
||||
if "template5" in param:
|
||||
|
||||
# promotion thai tea
|
||||
file_inc3 = open(directory_to_process + "/event/promotion_template5.inc", 'r')
|
||||
file_inc3_content = file_inc3.read()
|
||||
file_inc_img = open(directory_to_process + "/../image/event/image_template5", 'r')
|
||||
file_inc3_img_content = file_inc_img.read()
|
||||
|
||||
# replace key.
|
||||
|
||||
sp_key = file_inc3_img_content.split("\n")
|
||||
print("sp_key = " + str(len( sp_key)))
|
||||
for sp_line in sp_key:
|
||||
sp_line = sp_line.strip()
|
||||
key_val = sp_line.split("=")
|
||||
print("Kenta420:", key_val)
|
||||
if len( key_val) == 2:
|
||||
print("k = " + key_val[0] + " val=" + key_val[1])
|
||||
file_inc3_content = file_inc3_content.replace( "###" + key_val[0], '"' + key_val[1].strip() + '"')
|
||||
|
||||
|
||||
file_inc_event_click = open(directory_to_process + "/event/promotion_onclick5.inc", 'r')
|
||||
file_inc_event_click_content = file_inc_event_click.read()
|
||||
|
||||
file_inc3_content = file_inc3_content.replace("###EventOnClick", file_inc_event_click_content)
|
||||
|
||||
|
||||
print(file_inc3_content)
|
||||
|
||||
#print( file_inc_content)
|
||||
content_data_was_repack = file_content_main.replace(";dummy_layout.inc", file_inc_content)
|
||||
content_data = content_data_was_repack.replace(";BigLogoLayout", file_inc3_content)
|
||||
|
||||
begin_text = content_data.index(";TAGESP")
|
||||
end_text = content_data.index(";TAGESP", begin_text + 7)
|
||||
#print("sub text = " + str(begin_text) + " end = " + str(end_text))
|
||||
tmp1 = content_data[: begin_text - 7]
|
||||
|
||||
tmp3 = content_data[ end_text:-1]
|
||||
#print("tmp1=" + tmp1)
|
||||
#print("tmp3=" + tmp3)
|
||||
|
||||
content_data = tmp1 + tmp3
|
||||
|
||||
file_xml3_out = open(directory_to_process + "/event/out_put_file5.txt", 'r')
|
||||
file_xml3_out_content = file_xml3_out.read()
|
||||
file_xml3_out_content = file_xml3_out_content.strip()
|
||||
file_xml3_out_content = file_xml3_out_content.replace("\r", "")
|
||||
file_xml3_out_content = file_xml3_out_content.replace("\n", "")
|
||||
|
||||
file_xml3 = open(directory_to_process + file_xml3_out_content, 'w')
|
||||
file_xml3.write( content_data)
|
||||
file_xml3.close()
|
||||
|
||||
|
||||
|
||||
|
||||
###############################################################
|
||||
# MULTI PRO
|
||||
###############################################################
|
||||
print("dummy.current_file_name=", current_file_name)
|
||||
if "multi_promotion" in param:
|
||||
|
||||
print("Should gen multi")
|
||||
|
||||
files = os.listdir(directory_to_process + "/event/")
|
||||
files = [f for f in files if f.startswith("multi_promotion_config")]
|
||||
for filename in files:
|
||||
recommend_multi_pro_buff = Path(directory_to_process + "/page_catalog_group_recommend_multi_pro.lxml").read_text()
|
||||
# print("pre-regex multi pro buff = ", recommend_multi_pro_buff)
|
||||
|
||||
|
||||
# print("test split", json.dumps(recommend_multi_pro_buff.splitlines(), indent=2))
|
||||
temp = []
|
||||
for buffer in recommend_multi_pro_buff.splitlines():
|
||||
# print("buffer:"+buffer)
|
||||
if "\\n" in buffer:
|
||||
# print("found")
|
||||
buffer = buffer.replace("\\n", "\\\\n")
|
||||
temp.append(buffer)
|
||||
|
||||
recommend_multi_pro_buff = "\n".join(temp)
|
||||
# print("after-splitlines multi pro buff = ", recommend_multi_pro_buff)
|
||||
|
||||
# recommend_multi_pro_buff = recommend_multi_pro.read()
|
||||
# recommend_multi_pro.close()
|
||||
|
||||
#read config
|
||||
multi_pro_config_file = open(directory_to_process + "/event/"+ filename)
|
||||
multi_pro_config = json.load(multi_pro_config_file)
|
||||
|
||||
index = 0
|
||||
promotion_name = []
|
||||
while index < len(multi_pro_config):
|
||||
promotion_config = multi_pro_config[index]
|
||||
index += 1
|
||||
|
||||
# add promotion name for create filename later
|
||||
promotion_name.append(promotion_config["name"])
|
||||
|
||||
#load template
|
||||
template_file = open(directory_to_process + promotion_config["template"])
|
||||
template = template_file.read()
|
||||
template_file.close()
|
||||
|
||||
# TODO: get script and replace ###event_on_click
|
||||
if gen_season_pass and promotion_config["name"].startswith("s") and "product_code_key" in promotion_config.keys():
|
||||
product_code = promotion_config["product_code_key"]
|
||||
script = None
|
||||
print("try find script for ", product_code)
|
||||
try:
|
||||
script = season_pass_menu_script[product_code]
|
||||
if "\\n" in script:
|
||||
script = script.replace("\\n", "\\\\n")
|
||||
except:
|
||||
pass
|
||||
|
||||
# print("script=", script)
|
||||
|
||||
if script != None:
|
||||
template = template.replace("###on_click_script", script.strip())
|
||||
|
||||
# replace state
|
||||
product_code_state = "$Sum" + ''.join(product_code.split('.')[1:]).replace("-","").replace("#","")
|
||||
product_code_list = product_code.split('.')[1:]
|
||||
pd_dot_btn = [pd +".Button" for pd in product_code_list if "#" not in pd]
|
||||
print("gen state", product_code_state)
|
||||
|
||||
# template = template.replace("BigButtonEnable", f"Flag( {','.join(pd_dot_btn)},Disable=Invisible,{product_code_state})")
|
||||
if "dev" in param:
|
||||
template = template.replace("BigButtonEnable", f"\"Enable\"")
|
||||
else:
|
||||
|
||||
template = template.replace("BigButtonEnable", f"{product_code_state}")
|
||||
|
||||
template = template.replace("###on_click_script", "")
|
||||
|
||||
for key, value in promotion_config["config"].items():
|
||||
template = template.replace("###"+key, '"' + value.strip() + '"')
|
||||
|
||||
promotion_block_str = '\r\n<Block>\r\n\t<State> PromotionState{0} </State>\r\n\t<MarginLeft> 33 </MarginLeft>\r\n\t<MarginTop> 22 </MarginTop>\r\n\t<Width> 484 </Width>\r\n\t<Height> 602 </Height>\r\n'.format(index)
|
||||
if gen_season_pass and promotion_config["name"].startswith("s") and "product_code_key" in promotion_config.keys():
|
||||
promotion_block_str = f"\r\n<Block>\r\n\t<State> Flag( {','.join(pd_dot_btn)},Disable=Invisible,{product_code_state}) </State>\r\n\t<MarginLeft> 33 </MarginLeft>\r\n\t<MarginTop> 22 </MarginTop>\r\n\t<Width> 484 </Width>\r\n\t<Height> 602 </Height>\r\n"
|
||||
|
||||
# insert overlay tag
|
||||
# promotion_block_str += season_pass_menu_big_btn_ui[f"{product_code}.overlay"]
|
||||
# try:
|
||||
# template = template.replace(";#Overlay", season_pass_menu_big_btn_ui[f"{product_code}.overlay"])
|
||||
# except:
|
||||
# print("Overlay not found for "+product_code)
|
||||
# pass
|
||||
|
||||
|
||||
if "dev" in param:
|
||||
promotion_block_str = f"\r\n<Block>\r\n\t<State> \"Enable\" </State>\r\n\t<MarginLeft> 33 </MarginLeft>\r\n\t<MarginTop> 22 </MarginTop>\r\n\t<Width> 484 </Width>\r\n\t<Height> 602 </Height>\r\n"
|
||||
|
||||
# Add text for price and name
|
||||
# season_pass_menu_big_btn_ui
|
||||
if gen_season_pass and promotion_config["name"].startswith("s") and "product_code_key" in promotion_config.keys():
|
||||
price_name_ui = season_pass_menu_big_btn_ui[product_code]
|
||||
if price_name_ui != None:
|
||||
print("get cloned ui OK")
|
||||
# print("preview\n", price_name_ui)
|
||||
template += "\r\n" + price_name_ui.replace("\\n", "\\\\n")
|
||||
|
||||
# <Image>
|
||||
# <X> 10 </X>
|
||||
# <Y> 10 </Y>
|
||||
# <Filename> "ROOT/taobin_project/inter/sgp/image/event/menu_overlay_set/gradeB/button_overlay_catalog_3_posi1.png" </Filename>
|
||||
# </Image>
|
||||
# print("after replace\n", template)
|
||||
|
||||
try:
|
||||
# get overlay
|
||||
overlay_original_tag = season_pass_menu_big_btn_ui[f"{product_code}.overlay"]
|
||||
# print(f"[OverlayClone] {product_code} --- "+overlay_original_tag+".")
|
||||
overlay_new_path = " ".join(overlay_original_tag.split(' ')[3:-1]).replace("menu_overlay_set", "event/menu_overlay_set").replace(")","")
|
||||
template += f"\t<Image>\r\n\t<X> 10 </X>\r\n\t<Y> 10 </Y>\r\n\t<Filename> {overlay_new_path} </Filename>\r\n\t</Image>\r\n"
|
||||
except:
|
||||
print("\t\t> Overlay not found for "+product_code+"\n")
|
||||
|
||||
|
||||
|
||||
promotion_block_str += template
|
||||
|
||||
|
||||
|
||||
promotion_block_str += '\r\n</Block>\r\n'
|
||||
|
||||
recommend_multi_pro_buff = re.sub(r'(?is)(;block{0}).*(;endblock{0})'.format(index), r'\1{0}\2'.format(promotion_block_str), recommend_multi_pro_buff)
|
||||
# print("before idx cond check", recommend_multi_pro_buff)
|
||||
# Path("./before_idx_cond_check."+str(index)).write_text(recommend_multi_pro_buff, encoding="utf-8")
|
||||
|
||||
if gen_season_pass and promotion_config["name"].startswith("s") and "product_code_key" in promotion_config.keys():
|
||||
current_season = int([ s for s in product_code.split('.')[0]][1])
|
||||
print("[REPL] season ", current_season)
|
||||
filter_sm = [ pd for pd in season_pass_menu[current_season] if pd.endswith("sm")]
|
||||
print("[SM] expect at least 4, ", len(filter_sm))
|
||||
|
||||
# try get block
|
||||
generated_block_buffer = ""
|
||||
for sm_menu in filter_sm:
|
||||
|
||||
if ";season-sm-block" not in recommend_multi_pro_buff:
|
||||
print("expect already generated")
|
||||
break
|
||||
|
||||
try:
|
||||
sm_menu = ".".join(sm_menu.split(".")[:-1])
|
||||
print("sm_menu", sm_menu)
|
||||
|
||||
curr_sm_block = store_block_list[sm_menu]
|
||||
curr_sm_block = curr_sm_block.replace(",$Sum", ",Disable=Invisible,$Sum").replace("\\n", "\\\\n")
|
||||
generated_block_buffer += curr_sm_block
|
||||
|
||||
if "52-05-02-0076" in sm_menu:
|
||||
print("52-05-02-0076", generated_block_buffer)
|
||||
except:
|
||||
print("Cannot find store block for ", sm_menu)
|
||||
pass
|
||||
|
||||
|
||||
# replace by set of season menus
|
||||
if generated_block_buffer != "" and ";season-sm-block" in recommend_multi_pro_buff:
|
||||
print("init replace block")
|
||||
recommend_multi_pro_buff = re.sub(r'(?is);season-sm-block.*?;end-season-sm-block', generated_block_buffer, recommend_multi_pro_buff)
|
||||
# print(recommend_multi_pro_buff)
|
||||
# recommend_multi_pro_buff = recommend_multi_pro_buff.replace("\\n", "\\n")
|
||||
|
||||
|
||||
|
||||
# Path("./generated_buffer_sm."+str(index)).write_text(recommend_multi_pro_buff, encoding="utf-8")
|
||||
|
||||
if index == 2:
|
||||
# expend block3 to full width bottom
|
||||
inner_block = re.search(r'(?is);block{0}(.*);endblock{0}'.format(index+1), recommend_multi_pro_buff).group(1)
|
||||
inner_block = inner_block.replace("<Width> 516 </Width>", "<Width> 1032 </Width>", 2)
|
||||
inner_block = inner_block.replace("<Max> 4 </Max>", "<Max> 8 </Max>", 1)
|
||||
inner_block = inner_block.replace("<Column> 2 </Column>", "<Column> 4 </Column>", 1)
|
||||
recommend_multi_pro_buff = re.sub(r'(?is)(;block{0}).*(;endblock{0})'.format(index+1), r'\1{0}\2'.format(inner_block), recommend_multi_pro_buff)
|
||||
|
||||
# remove block4
|
||||
recommend_multi_pro_buff = re.sub(r'(?is)(;block{0}).*(;endblock{0})'.format(index+2), r'\1\2', recommend_multi_pro_buff)
|
||||
# print("after idx 2 cond check", recommend_multi_pro_buff)
|
||||
|
||||
if index == 3:
|
||||
# create expand block
|
||||
# print("inner block2. Is buffer contain ;block?", ";block" in recommend_multi_pro_buff, re.search(r'(?is)(;block{0}.*;endblock{0})'.format(index+1), recommend_multi_pro_buff))
|
||||
inner_block2 = re.search(r'(?is)(;block{0}.*;endblock{0})'.format(index+1), recommend_multi_pro_buff).group(1)
|
||||
|
||||
# print("inner_block2 = ", inner_block2)
|
||||
# Path("./inner_block2."+str(index)).write_text(inner_block2, encoding="utf-8")
|
||||
# Path("./inner_block2_buffer."+str(index)).write_text(recommend_multi_pro_buff, encoding="utf-8")
|
||||
|
||||
|
||||
inner_block2 = inner_block2.replace(";block{0}".format(index+1), ";block{0}-expand".format(index+1))
|
||||
# print("inner_block2_1 = ", inner_block2)
|
||||
# Path("./inner_block2_1."+str(index)).write_text(inner_block2, encoding="utf-8")
|
||||
# Path("./inner_block2_1_buffer."+str(index)).write_text(recommend_multi_pro_buff, encoding="utf-8")
|
||||
|
||||
|
||||
inner_block2 = inner_block2.replace(";endblock{0}".format(index+1), ";endblock{0}-expand".format(index+1))
|
||||
# print("inner_block2_2 = ", inner_block2)
|
||||
# Path("./inner_block2_2."+str(index)).write_text(inner_block2, encoding="utf-8")
|
||||
# Path("./inner_block2_2_buffer."+str(index)).write_text(recommend_multi_pro_buff, encoding="utf-8")
|
||||
# print(f"inner_block2_2.buffer {index} = ", recommend_multi_pro_buff)
|
||||
|
||||
inner_block2 = inner_block2.replace("<Width> 516 </Width>", "<Width> 1032 </Width>", 2)
|
||||
|
||||
# inner_block2 = inner_block2.replace("<State> \"Enable\" </State> ", "<State>\r\n\teval(\r\n\tIf PromotionState{0} = \"Enable\" Then\r\n\t\tVar block_expend_show = \"Invisible\"\r\n\tElse\r\n\t\tVar block_expend_show = \"Enable\"\r\n\tEndIf\r\n\tVar return = block_expend_show\r\n\t)\r\n</State>".format(index), 1)
|
||||
inner_block2 = inner_block2.replace("<Max> 4 </Max>", "<Max>\r\neval(\r\n\tIf CountEnablePromotion > 2 Then\r\n\t\tVar max_count = 4\r\n\tElse\r\n\t\tVar max_count = 8\r\n\tEndIf\r\n\tVar return = max_count\r\n)\r\n</Max>", 1)
|
||||
inner_block2 = inner_block2.replace("<Column> 2 </Column>", "<Column>\r\neval(\r\n\tIf CountEnablePromotion > 2 Then\r\n\t\tVar column_count = 2\r\n\tElse\r\n\t\tVar column_count = 4\r\n\tEndIf\r\n\tVar return = column_count\r\n)\r\n</Column>", 1)
|
||||
# print("inner_block2_3 = ", inner_block2)
|
||||
if "\\n" in inner_block2:
|
||||
inner_block2 = inner_block2.replace("\\n", "\\\\n")
|
||||
recommend_multi_pro_buff = re.sub(r'(?is);block{0}.*;endblock{0}'.format(index+1), inner_block2, recommend_multi_pro_buff)
|
||||
|
||||
# print("after idx 3 cond check", recommend_multi_pro_buff)
|
||||
# print("index = ", index)
|
||||
|
||||
|
||||
# create promotion file
|
||||
count_name_dict = {
|
||||
2: "double_",
|
||||
3: "triple_"
|
||||
}
|
||||
|
||||
# print("write buffer encode: ", str(recommend_multi_pro_buff))
|
||||
|
||||
# test
|
||||
# print("test pathlib", Path(directory_to_process + "/page_catalog_group_recommend_multi_pro.lxml").read_text())
|
||||
|
||||
|
||||
# promo_file = open(directory_to_process + "/event/" + count_name_dict[len(multi_pro_config)]+ "promotion_" + "_and_".join(promotion_name) + ".lxml", "w")
|
||||
Path(directory_to_process + "/event/" + count_name_dict[len(multi_pro_config)]+ "promotion_" + "_and_".join(promotion_name) + ".lxml").write_text(recommend_multi_pro_buff, encoding="utf-8")
|
||||
|
||||
|
||||
# promo_file.write(recommend_multi_pro_buff)
|
||||
# # promo_file.writelines(recommend_multi_pro_buff.split("\r\n"))
|
||||
# promo_file.close()
|
||||
44
inter/sgp/xml/event/multi_promotion_config_season1.json
Normal file
44
inter/sgp/xml/event/multi_promotion_config_season1.json
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
[
|
||||
{
|
||||
"name": "s1topleft",
|
||||
"template": "/event/promotion_template.inc",
|
||||
"product_code_key": "s1.52-21-01-0007.52-21-02-0004.52-21-03-0004",
|
||||
"config": {
|
||||
"normal_eng": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bn_hot_caramel_latte.png",
|
||||
"normal_thai": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bn_hot_caramel_latte.png",
|
||||
"press_eng": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bp_hot_caramel_latte.png",
|
||||
"press_thai": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bp_hot_caramel_latte.png",
|
||||
"disable_eng": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bd_hot_caramel_latte.png",
|
||||
"disable_thai": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bd_hot_caramel_latte.png",
|
||||
"event_on_click": "ROOT/taobin_project/xml/page_topping_select6.lxml"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "s1topright",
|
||||
"template": "/event/promotion_template.inc",
|
||||
"product_code_key": "s1.##-##-##-####.##-##-##-####.52-03-03-0009",
|
||||
"config": {
|
||||
"normal_eng": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bn_smoothie_oreo.png",
|
||||
"normal_thai": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bn_smoothie_oreo.png",
|
||||
"press_eng": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bp_smoothie_oreo.png",
|
||||
"press_thai": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bp_smoothie_oreo.png",
|
||||
"disable_eng": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bd_smoothie_oreo.png",
|
||||
"disable_thai": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bd_smoothie_oreo.png",
|
||||
"event_on_click": "ROOT/taobin_project/xml/page_topping_select6.lxml"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "s1botleft",
|
||||
"template": "/event/promotion_template.inc",
|
||||
"product_code_key": "s1.52-02-01-0026.52-02-02-0026.52-02-03-0026",
|
||||
"config": {
|
||||
"normal_eng": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bn_hot_matcha_milk_tea.png",
|
||||
"normal_thai": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bn_hot_matcha_milk_tea.png",
|
||||
"press_eng": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bp_hot_matcha_milk_tea.png",
|
||||
"press_thai": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bp_hot_matcha_milk_tea.png",
|
||||
"disable_eng": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bd_hot_matcha_milk_tea.png",
|
||||
"disable_thai": "ROOT/taobin_project/inter/sgp/image/event/season_pass/bd_hot_matcha_milk_tea.png",
|
||||
"event_on_click": "ROOT/taobin_project/xml/page_topping_select6.lxml"
|
||||
}
|
||||
}
|
||||
]
|
||||
44
inter/sgp/xml/event/multi_promotion_config_season2.json
Normal file
44
inter/sgp/xml/event/multi_promotion_config_season2.json
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
[
|
||||
{
|
||||
"name": "s2topleft",
|
||||
"template": "/event/promotion_template.inc",
|
||||
"product_code_key": "s2.52-21-01-0006.52-21-02-0003.52-21-03-0003",
|
||||
"config": {
|
||||
"normal_eng": "ROOT/taobin_project/inter/mys/image/event/pro_thai_tea/pro_thai_tea_big_btn.png",
|
||||
"normal_thai": "ROOT/taobin_project/inter/mys/image/event/pro_thai_tea/pro_thai_tea_big_btn.png",
|
||||
"press_eng": "ROOT/taobin_project/inter/mys/image/event/pro_thai_tea/pro_thai_tea_big_btn.png",
|
||||
"press_thai": "ROOT/taobin_project/inter/mys/image/event/pro_thai_tea/pro_thai_tea_big_btn.png",
|
||||
"disable_eng": "ROOT/taobin_project/inter/mys/image/event/pro_thai_tea/pro_thai_tea_big_btn.png",
|
||||
"disable_thai": "ROOT/taobin_project/inter/mys/image/event/pro_thai_tea/pro_thai_tea_big_btn.png",
|
||||
"event_on_click": "ROOT/taobin_project/xml/page_topping_select6.lxml"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "s2topright",
|
||||
"template": "/event/promotion_template.inc",
|
||||
"product_code_key": "s2.##-##-##-####.##-##-##-####.52-03-03-0049",
|
||||
"config": {
|
||||
"normal_eng": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"normal_thai": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"press_eng": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"press_thai": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"disable_eng": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"disable_thai": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"event_on_click": "ROOT/taobin_project/xml/page_topping_select6.lxml"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "s2botleft",
|
||||
"template": "/event/promotion_template.inc",
|
||||
"product_code_key": "s2.52-02-01-0039.52-02-02-0039.52-02-03-0039",
|
||||
"config": {
|
||||
"normal_eng": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"normal_thai": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"press_eng": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"press_thai": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"disable_eng": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"disable_thai": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"event_on_click": "ROOT/taobin_project/xml/page_topping_select6.lxml"
|
||||
}
|
||||
}
|
||||
]
|
||||
44
inter/sgp/xml/event/multi_promotion_config_season3.json
Normal file
44
inter/sgp/xml/event/multi_promotion_config_season3.json
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
[
|
||||
{
|
||||
"name": "s3topleft",
|
||||
"template": "/event/promotion_template.inc",
|
||||
"product_code_key": "s3.52-21-01-0005.52-31-02-0002.52-31-03-0002",
|
||||
"config": {
|
||||
"normal_eng": "ROOT/taobin_project/inter/mys/image/event/pro_thai_tea/pro_thai_tea_big_btn.png",
|
||||
"normal_thai": "ROOT/taobin_project/inter/mys/image/event/pro_thai_tea/pro_thai_tea_big_btn.png",
|
||||
"press_eng": "ROOT/taobin_project/inter/mys/image/event/pro_thai_tea/pro_thai_tea_big_btn.png",
|
||||
"press_thai": "ROOT/taobin_project/inter/mys/image/event/pro_thai_tea/pro_thai_tea_big_btn.png",
|
||||
"disable_eng": "ROOT/taobin_project/inter/mys/image/event/pro_thai_tea/pro_thai_tea_big_btn.png",
|
||||
"disable_thai": "ROOT/taobin_project/inter/mys/image/event/pro_thai_tea/pro_thai_tea_big_btn.png",
|
||||
"event_on_click": "ROOT/taobin_project/xml/page_topping_select6.lxml"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "s3topright",
|
||||
"template": "/event/promotion_template.inc",
|
||||
"product_code_key": "s3.##-##-##-####.52-04-02-0002.##-##-##-####",
|
||||
"config": {
|
||||
"normal_eng": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"normal_thai": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"press_eng": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"press_thai": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"disable_eng": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"disable_thai": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"event_on_click": "ROOT/taobin_project/xml/page_topping_select6.lxml"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "s3botleft",
|
||||
"template": "/event/promotion_template.inc",
|
||||
"product_code_key": "s3.##-##-##-####.##-##-##-####.52-03-03-0027",
|
||||
"config": {
|
||||
"normal_eng": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"normal_thai": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"press_eng": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"press_thai": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"disable_eng": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"disable_thai": "ROOT/taobin_project/inter/mys/image/event/pro_yuzu/pro_yuzu_big_btn.png",
|
||||
"event_on_click": "ROOT/taobin_project/xml/page_topping_select6.lxml"
|
||||
}
|
||||
}
|
||||
]
|
||||
39
inter/sgp/xml/event/promotion_template.inc
Normal file
39
inter/sgp/xml/event/promotion_template.inc
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
|
||||
<Button>
|
||||
<State> BigButtonEnable </State>
|
||||
<Filename>
|
||||
eval(
|
||||
If show_eng = "true" Then
|
||||
Var return = ###normal_eng
|
||||
Else
|
||||
Var return = ###normal_thai
|
||||
EndIf
|
||||
)
|
||||
</Filename>
|
||||
<FilenamePress>
|
||||
eval(
|
||||
If show_eng = "true" Then
|
||||
Var return = ###press_eng
|
||||
Else
|
||||
Var return = ###press_thai
|
||||
EndIf
|
||||
)
|
||||
</FilenamePress>
|
||||
<FilenameDisable>
|
||||
eval(
|
||||
If show_eng = "true" Then
|
||||
Var return = ###disable_eng
|
||||
Else
|
||||
Var return = ###disable_thai
|
||||
EndIf
|
||||
)
|
||||
</FilenameDisable>
|
||||
<EventOnClick>
|
||||
|
||||
###on_click_script
|
||||
|
||||
Open ###event_on_click
|
||||
|
||||
</EventOnClick>
|
||||
|
||||
</Button>
|
||||
|
|
@ -1,13 +1,54 @@
|
|||
; australia
|
||||
; Singapore
|
||||
Var CountEnablePromotion = 0
|
||||
|
||||
; ensure
|
||||
Var CountSecureOpenPro = 0
|
||||
If SeasonPassMode = 1 Then
|
||||
|
||||
If Season1 = "false" Then
|
||||
Var CountSecureOpenPro = CountSecureOpenPro + 1
|
||||
EndIf
|
||||
|
||||
If Season2 = "false" Then
|
||||
Var CountSecureOpenPro = CountSecureOpenPro + 1
|
||||
EndIf
|
||||
|
||||
If Season3 = "false" Then
|
||||
Var CountSecureOpenPro = CountSecureOpenPro + 1
|
||||
EndIf
|
||||
|
||||
If CountSecureOpenPro = 3 Then
|
||||
Var SeasonPassMode = 0
|
||||
EndIf
|
||||
|
||||
EndIf
|
||||
|
||||
|
||||
; zone promote
|
||||
If OpenFromPageBoard = 1 Then
|
||||
|
||||
OpenInst 2 "ROOT/taobin_project/inter/sgp/xml/page_catalog_group_recommend.lxml"
|
||||
If SeasonPassMode = 1 Then
|
||||
|
||||
Var PromotionState1 = "Enable"
|
||||
Var PromotionState2 = "Enable"
|
||||
Var PromotionState3 = "Enable"
|
||||
|
||||
OpenInst 2 SeasonFile
|
||||
Else
|
||||
OpenInst 2 "ROOT/taobin_project/inter/sgp/xml/page_catalog_group_recommend.lxml"
|
||||
EndIf
|
||||
|
||||
|
||||
Else
|
||||
|
||||
Open "ROOT/taobin_project/inter/sgp/xml/page_catalog_group_recommend.lxml"
|
||||
If SeasonPassMode = 1 Then
|
||||
Var PromotionState1 = "Enable"
|
||||
Var PromotionState2 = "Enable"
|
||||
Var PromotionState3 = "Enable"
|
||||
|
||||
Open SeasonFile
|
||||
Else
|
||||
Open "ROOT/taobin_project/inter/sgp/xml/page_catalog_group_recommend.lxml"
|
||||
EndIf
|
||||
EndIf
|
||||
Var OpenFromPageBoard = 0
|
||||
|
|
|
|||
72
inter/sgp/xml/event/season_pass/season_pass.ev
Normal file
72
inter/sgp/xml/event/season_pass/season_pass.ev
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
Var Season1 = "false"
|
||||
Var Season2 = "false"
|
||||
Var Season3 = "false"
|
||||
|
||||
Var BigButtonEnable = "Enable"
|
||||
|
||||
Var SeasonTrick = CountryRootPath + "xml/event/season_pass/"
|
||||
|
||||
If SystemDateMonthInt = 7 Then
|
||||
|
||||
If SystemDateDayInt >= 22 Then
|
||||
Var Season1 = "true"
|
||||
EndIf
|
||||
|
||||
EndIf
|
||||
|
||||
If SystemDateMonthInt = 8 Then
|
||||
|
||||
If SystemDateDayInt <= 4 Then
|
||||
Var Season1 = "true"
|
||||
Else
|
||||
Var Season1 = "false"
|
||||
EndIf
|
||||
|
||||
If SystemDateDayInt > 4 Then
|
||||
If SystemDateDayInt < 19 Then
|
||||
Var Season2 = "true"
|
||||
Else
|
||||
Var Season2 = "false"
|
||||
Var Season3 = "true"
|
||||
EndIf
|
||||
|
||||
EndIf
|
||||
|
||||
EndIf
|
||||
|
||||
|
||||
If SystemDateMonthInt = 9 Then
|
||||
If SystemDateDayInt = 1 Then
|
||||
Var Season3 = "true"
|
||||
EndIf
|
||||
EndIf
|
||||
|
||||
If BoxID = "177746" Then
|
||||
Var Season1 = "false"
|
||||
Var Season2 = "false"
|
||||
Var Season3 = "false"
|
||||
EndIf
|
||||
|
||||
DEBUGVAR Season1
|
||||
DEBUGVAR Season2
|
||||
DEBUGVAR Season3
|
||||
|
||||
DEBUGVAR SeasonTrick
|
||||
|
||||
|
||||
If Season1 = "true" Then
|
||||
Var SeasonTrick = SeasonTrick + "set1.ev"
|
||||
TRY SeasonTrick
|
||||
Else
|
||||
If Season2 = "true" Then
|
||||
Var SeasonTrick = SeasonTrick + "set2.ev"
|
||||
TRY SeasonTrick
|
||||
Else
|
||||
If Season3 = "true" Then
|
||||
Var SeasonTrick = SeasonTrick + "set3.ev"
|
||||
TRY SeasonTrick
|
||||
EndIf
|
||||
EndIf
|
||||
EndIf
|
||||
|
||||
|
||||
24
inter/sgp/xml/event/season_pass/set1.ev
Normal file
24
inter/sgp/xml/event/season_pass/set1.ev
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
; Define
|
||||
Var SeasonPass = 1
|
||||
|
||||
Var SeasonFile = CountryRootPath + "xml/event/triple_promotion_s1topleft_and_s1topright_and_s1botleft.lxml"
|
||||
|
||||
|
||||
DEBUGVAR SeasonPass
|
||||
DEBUGVAR SeasonFile
|
||||
|
||||
Var CountEnablePromotion = 0
|
||||
|
||||
If $Sum522101000752210200045221030004 = "Enable" Then
|
||||
Var CountEnablePromotion = CountEnablePromotion + 1
|
||||
EndIf
|
||||
|
||||
If $Sum5203030009 = "Enable" Then
|
||||
Var CountEnablePromotion = CountEnablePromotion + 1
|
||||
EndIf
|
||||
|
||||
If $Sum520201002652020200265202030026 = "Enable" Then
|
||||
Var CountEnablePromotion = CountEnablePromotion + 1
|
||||
EndIf
|
||||
|
||||
DEBUGVAR CountEnablePromotion
|
||||
10
inter/sgp/xml/event/season_pass/set2.ev
Normal file
10
inter/sgp/xml/event/season_pass/set2.ev
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
; Define
|
||||
Var SeasonPass = 2
|
||||
|
||||
Var SeasonFile = CountryRootPath + "xml/event/triple_promotion_s2topleft_and_s2topright_and_s2botleft.lxml"
|
||||
|
||||
|
||||
DEBUGVAR SeasonPass
|
||||
DEBUGVAR SeasonFile
|
||||
|
||||
|
||||
10
inter/sgp/xml/event/season_pass/set3.ev
Normal file
10
inter/sgp/xml/event/season_pass/set3.ev
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
; Define
|
||||
Var SeasonPass = 1
|
||||
|
||||
Var SeasonFile = CountryRootPath + "xml/event/triple_promotion_s3topleft_and_s3topright_and_s3botleft.lxml"
|
||||
|
||||
|
||||
DEBUGVAR SeasonPass
|
||||
DEBUGVAR SeasonFile
|
||||
|
||||
|
||||
|
|
@ -7,3 +7,33 @@
|
|||
; Reset flag away.
|
||||
|
||||
|
||||
Var SeasonPassMode = 0
|
||||
|
||||
If SystemDateMonthInt = 7 Then
|
||||
If SystemDateDayInt > 21 Then
|
||||
Var SeasonPassMode = 1
|
||||
Else
|
||||
Var SeasonPassMode = 0
|
||||
EndIf
|
||||
EndIf
|
||||
|
||||
If SystemDateMonthInt = 8 Then
|
||||
Var SeasonPassMode = 1
|
||||
EndIf
|
||||
|
||||
If SystemDateMonthInt = 9 Then
|
||||
Var SeasonPassMode = 1
|
||||
If SystemDateDayInt > 1 Then
|
||||
Var SeasonPassMode = 0
|
||||
EndIf
|
||||
EndIf
|
||||
|
||||
|
||||
If BoxID = "177746" Then
|
||||
Var SeasonPassMode = 1
|
||||
EndIf
|
||||
|
||||
If SeasonPassMode = 1 Then
|
||||
Var SeasonPassFile = CountryRootPath + "xml/event/season_pass/season_pass.ev"
|
||||
TRY SeasonPassFile
|
||||
EndIf
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue