|
@@ -43,13 +43,62 @@ func (this *Modules) api_GenerateXmlCurrencies(wrap *wrapper.Wrapper) string {
|
|
|
}
|
|
|
|
|
|
func (this *Modules) api_GenerateXmlCategories(wrap *wrapper.Wrapper) string {
|
|
|
- /*
|
|
|
- <category id="2">Женская одежда</category>
|
|
|
- <category id="261" parentId="2">Платья</category>
|
|
|
- <category id="3">Мужская одежда</category>
|
|
|
- <category id="391" parentId="3">Куртки</category>
|
|
|
- */
|
|
|
- return ``
|
|
|
+ result := ``
|
|
|
+ rows, err := wrap.DB.Query(
|
|
|
+ `SELECT
|
|
|
+ data.id,
|
|
|
+ data.user,
|
|
|
+ data.name,
|
|
|
+ data.alias,
|
|
|
+ data.lft,
|
|
|
+ data.rgt,
|
|
|
+ MAX(data.parent_id) AS parent_id
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ node.id,
|
|
|
+ node.user,
|
|
|
+ node.name,
|
|
|
+ node.alias,
|
|
|
+ node.lft,
|
|
|
+ node.rgt,
|
|
|
+ parent.id AS parent_id
|
|
|
+ FROM
|
|
|
+ shop_cats AS node,
|
|
|
+ shop_cats AS parent
|
|
|
+ WHERE
|
|
|
+ node.lft BETWEEN parent.lft AND parent.rgt AND
|
|
|
+ node.id > 1
|
|
|
+ ORDER BY
|
|
|
+ node.lft ASC
|
|
|
+ ) AS data
|
|
|
+ WHERE
|
|
|
+ data.id <> data.parent_id
|
|
|
+ GROUP BY
|
|
|
+ data.id
|
|
|
+ ORDER BY
|
|
|
+ data.lft ASC
|
|
|
+ ;`,
|
|
|
+ )
|
|
|
+ if err == nil {
|
|
|
+ defer rows.Close()
|
|
|
+ values := make([]string, 7)
|
|
|
+ scan := make([]interface{}, len(values))
|
|
|
+ for i := range values {
|
|
|
+ scan[i] = &values[i]
|
|
|
+ }
|
|
|
+ for rows.Next() {
|
|
|
+ err = rows.Scan(scan...)
|
|
|
+ if err == nil {
|
|
|
+ if utils.StrToInt(string(values[6])) > 1 {
|
|
|
+ result += `<category id="` + html.EscapeString(string(values[0])) + `" parentId="` + html.EscapeString(string(values[6])) + `">` + html.EscapeString(string(values[2])) + `</category>`
|
|
|
+ } else {
|
|
|
+ result += `<category id="` + html.EscapeString(string(values[0])) + `">` + html.EscapeString(string(values[2])) + `</category>`
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result
|
|
|
}
|
|
|
|
|
|
func (this *Modules) api_GenerateXmlOffers(wrap *wrapper.Wrapper) string {
|