top of page

wixのDB作成~接続を試し始めました。

  • 執筆者の写真: すばひ
    すばひ
  • 2020年1月23日
  • 読了時間: 5分

まず、wixを触っていく、という目的があります。

移行したからには、機能は利用したいので。。。


そこで、移行したのはブログですし、

ブログをcssビンビンにきかせて段落とか

凝ったお洒落ブログにしてやるぜ。


とか思ったり思わなかったりでしたが

結論としてブログをwixでお洒落にするのはやめます。


wix、触ったりあれやこれってできるのか

ってぐぐってみると先人の方々が色々書いてくれていますが、

これ一番重要なのではと思ったことが、

wixのブログはwix内の一つのアプリの機能でしかない。


これが困りました。


拡張性が限られるっぽいんですね。

今日2つやりたくてパッと見できなかったこと。


① cssファイルを読み込む

→まずcssファイルを置くところから見当たらないので諦める


② シェアボタン(Twitter)の初期テキストの編集

→シェアボタンもブログの中の一つの機能のようでボタン単独を選択できない。

 ただ、Dev modeなるもので編集しているとアプリに対して

 クリックイベントはjsで書けるみたいなので、

 ソースとかからこのボタンのID読み解いて無理やりイベント書けばワンチャン・・・?


と、ブログはこの2点でやるならWordpressにしようと思いました。


さて、前置きが長くなりましたがDB接続機能があるので試してみました。

まず、GALLERYページの風景写真、

あれをwix内のDBにアップロードして参照するようにさせました。

今後はアップロード→アップロードしたやつをスライダーに追加

する必要は無いはずです。

(DBにアップロードと書きましたが、実際はwixに以前まで上げていた箇所を

参照しているだけです。)


これはパッと見でサクサクできたので物足りない感じでした。

んで、他にどういうことされてるかなってぐぐったら

DBに配置するコンテンツ(テキスト・画像)を格納して

動的なページを作成している方がいましたのでやってみるか。

ということでグラブルの編成をDBに格納して呼び出すページを作成中です。

(イメージ画像は最後に)


ただ、DBの機能がものすごく癖を感じます。

カラム作り間違えたときの修正が効かないんですよね。

データがすでにあるからでは、とかそういうのじゃないんです。

カラム(wix内ではフィールドで呼称されてるし以下フィールドで。

え?これカラムカラムラカムカラムって言ってちゃってるんですけど

フィールドがやっぱり正しいんですか??)

を作成したタイミングで、リレーション用のフィールドキーがフィールド名を

元に自動で作成されます。

このフィールド名はjavascriptで参照してるから変更できないそうです。

(メッセージまんま)

で、フィールド名称はいくらでもあとから直せるんですが、

フィールドキーが修正できない。


フィールドの削除をしても論理削除をしているだけで、

物理削除はされませんので、なにかしらの理由でリレーションキーもっかい

削除したのでフィールド作成しようとするとエラーになります。

いや、これは実際復元して使えばいいのであんまり問題ではないんですけど。


次に、困っているのがテーブル間のリレーションです。

これは私の手法がわるいのかもしれない。


今はテーブルとして、


①PT編成のテーブル

 これがwebに表示する内容を格納するテーブル


②属性テーブル

 テーブル設計せず勢いで作成したので属性もテーブルにしました。

 というよりもリレーション接続と値をどう取得するのかのテストを兼ねて

 作成した。という感じですね。


③キャラクターテーブル

 キャラの一覧です。格納している情報は

 名前(主キー)(作成時点では主キーにせざるをえなかった)

 属性、レアリティの3つを今はフィールドで保持しています。


さて、お困りの点ですが3のインポートで発狂しそういなりました。

リレーションに困ってると記載した通り、

今3の属性は2を参照しています。


ただ、この時点ではwixは主キーの値を取得することしかしてくれないと思い込み、

今属性テーブルは属性IDとかではなく属性の名前が入ってるだけです。


で、それにどうやって紐付けるのかなと思ったんですが

3のデータはテキストで属性ベタ打ちでインポートしてみました。


インポート後に2を参照するようフィールドを変更すると

参照エラーが発生。


こんな感じ


ree

赤のところがエラーなんですね。


いや、参照できるところあるやんみたいな状態ですが、

あの赤いのクリックすると再参照みたいなことができるので

それをやると紐づきました(これは意外)


ただ、これは一括でできないようで、、、


SSR255キャラすべて手動で再参照しました。。。


あとRとSRがあるんですけど(

まだインポートしてないけどしなくて良い気がしてきました。



んでもって

なんやかんやで形成して今がこんな感じです。


ree

ヘッダーから下の情報はすべてDBのフィールドを読み込んでいます。



これプレビュだからだと思いますが

右上に操作用のバーが出ていますので

> を押すとこうなります。



ree

こんな感じで切り替わります。


情報はどんどん追加していこうとおもいます。


さて、今表示されているキャラ名が1つなんですね。

このDB、フィールドに複数のアイテムを格納できるので

最初は5キャラすべてを1つのフィールドに入れたんです。

そうすると、そもそもDBの参照先にそのフィールドでなくて笑いました。


で、なくなくフィールド5個作ったわけですが。

※こんな感じ

ree


次に少し時間がかかったのが、

このキャラ名など、別テーブルを参照している

フィールドを呼び出す方法。


これはエンジニーアな方ならあんまり困らないかもしれないんですけど

初見でこれはびっくりまうすですよ。

※画像読み込ませたらエラーで再読み込みになって発狂しそうになった

ree









この画像がなんなのかというと、

自分はここにを引っ張れば呼び出せると

思ったフィールドが選択できないんですね。


で、ただこれDB構造上げてないんでわからないんですけど

下のTitleってのがキャラクターテーブルの主キーなんです。


つまり、Character1は参照だから参照元から以下を引っ張れるよ!

って状態なようです。


なので、Titleを選べば無事名前が表示されます。


で、ここまで来てようやく主キーに値直張りじゃなくてもええな。。。

ってことに気づいたわけです。


ユニークIDみたいなのは内部的に自動生成されているので

一括更新で再アップロードできればテーブル関係は一律再作成ですね。


呼び出し方がわかるとテーブルのイメージも湧きやすい。。。。


これはちょっとためになったです。はい。



とりあえず今日はここまで。今週の休みでページは公開できるとこまで

もっていきたいな~~~~~~~~~。



adieu.

Comments


bottom of page