キンコミ kintone user community

みんなの投稿

2022/03/26 20:19

こんにちは!
初めての投稿となります。

ポータル画面のお知らせ欄にkrewダッシュボードで作成した表を載せたいとかんがえています。
krewダッシュボード側から埋め込みようタグ(iframe)はコピーして開発ツールに直接貼りつけたところ、表示されるようになりましたが保存すると消えます。

この解決策を教えて頂けませんか?

3件のコメント (新着順)
koichi
開発
2022/03/29 10:44

アレンさん
西村さん

横から失礼します。

私は組織の諸事情により「Kintone Portal Designer」が使えないので
ポータルのカスタマイズは全体JSを使っています。

全体JSも良いよ!ということでしたら、一つ提案させていただきます。



RyBBさんの手法を使う場合は
「ハック③ classを埋め込む」で、表示したい位置(div要素)に適当なclassを付けて保存します。

仮に「div class="sample"」のようにした場合は
「user-token-sample」にclassが変換されます。

※iframeを直書きして保存するのではない点にご注意ください。



全体JSに以下スクリプトファイルを適用

(function() {

    'use strict';

    kintone.events.on(['portal.show', 'mobile.portal.show'], function(event) {
        // HTMLに追加したclass要素に表示
        const el = document.getElementsByClassName('user-token-sample')[0];
        el.innerHTML = '<iframe>hogehoge</iframe>'; 
    });

})();

koichi
開発
2022/03/29 10:46

いやいや、classによる指定位置ではなく、お知らせの末尾であれば良いよ!
ということであれば、上記のclass設定は不要で
お知らせ要素「ocean-portal-announcement-body」にappendChildしても可です。

(function() {

    'use strict';

    kintone.events.on(['portal.show', 'mobile.portal.show'], function(event) {
        // お知らせの末尾に表示
        const el = document.getElementsByClassName('ocean-portal-announcement-body')[0];
        const div = document.createElement('div');
        div.innerHTML = '<iframe>hogehoge</iframe>';
        el.appendChild(div);
    });

})();

koichiさん

さすがですね。正直koichiさんならできるのではと思ってました。
組織の諸事情。。ありますよね。^^;

ご提案くださった2案のうち、お知らせ掲示板の末尾であれば敷居が低そうでしたので、私もやってみました。
できました!
情報ありがとうございます。^^

アレン
2022/03/30 07:55

koichi様 

お世話になっております。

ご提案して頂きありがとうございます!

掲示板の末尾でも問題ありませんのでこの方法を活用させて頂きます。
(この方法でうまく反映させることが出来ればclass要素での指定も挑戦したいと思います。)

koichi様、西村様この度はアドバイスを頂き誠にありがとうございました。

アレン
2022/05/23 21:14

返信遅くなりましたが、末尾に表示することができました。ありがとうございました。これスペースのお知らせ末尾にも表示することは可能ですか?

koichi
開発
2022/05/24 08:53

アレンさん

ご確認いただきありがとうございます。
ポータルお知らせ末尾に追加できたとのことで何よりです。

スペース内お知らせにも可能と思います。
HTMLを探っていただいたら「ocean-space-spacebody」のclassを持つdiv要素があるはずです。

これに対して同様の処理を当てれば実装できるはずです。

アレン
2022/03/29 08:11

西村様

こちらこそ色々アドバイスを頂きありがとうございました。  

@RyBBさんの記事の中でも反映されない部分もあるとおっしゃられていたので、今回のケースがそれに該当するのかもしれないです。

スペースでのポータルデザイナーでの表示も検討してみたいと思います。

ありがとうございました!

アレンさん

krewダッシュボードいいですよね。
市販プラグインならではのリッチなグラフは目を引きます。

ご質問は、ポータル画面のお知らせ掲示板に表示されたいとのこと。
アレンさんのおっしゃっている、iframeを直接開発ツールに貼り付けても消える状況はちょっとイメージできてませんが

krewDashboardのポータル表示はkintoneのポータルの画面をカスタマイズすることになるかと思います。
https://krew.zendesk.com/hc/ja/articles/360033795774

ちなみに私は「advanced-3tabs」をつかってポータルでタブ切り替え表示をしています。
https://note.com/46u/n/n80f91226ae68

2021年4月版定期メンテナンスでスペースでも表示できるようになりました。
https://note.com/46u/n/na507a2642c47

参考になればうれしいです。^^


アレン
2022/03/27 08:37

西村様

ご丁寧にご回答ありがとうございます!

ポータルデザイナーのカスタマイズも検討してはいたのですが、大きくポータル画面の変更せずにお知らせ欄にお知らせの一つとして表を載せたいと思っております。

私がうまくいかなかった方法はこちらを参考に致しました。

https://qiita.com/RyBB/items/0873292939b60a592f92

この方法では埋め込んだ時に表示されるのですが、お知らせ欄の保存を押すと消えてしまいます。

何かお分かりする部分があればご教授頂けると幸いです。

アレンさん

なるほど。
私も最初はお知らせ掲示板に表示できたらいいなと思ったのでお気持ちわかります。

リンク拝見しました。
確かにお知らせ掲示板にiframeタグを埋め込まれてますね。
さすが@RyBBさん。すごいですね。技術的な興味をそそられるところです。

このへんの話になると私はちょっとアドバイス難しいです。すいません。
アレンさんも承知の上とは思いますが

@RyBBさんも

※ kintone的には非推奨なことなのであしからず。

とおっしゃってますし、一応提供会社様が提示している方法(今回ですとポータルデザイナー)が安全かと思います。
とはいえクライアントさんや上層部から特別な指示(無理難題^^;)があるケースもよくありますので、なかなかうまくいかないのですが。

...長々と書いても、「結局今の私にはできない」という話になるのでこのへんで。^^;

ただアレンさんから頂いた情報は面白さを感じましたので、私の個人の範囲ではトライしてみたいと思いました。情報ありがとうございます。