Snapshot原田

備忘録

f-Revo 環境構築

https://bitbucket.org/ bitbucketのlsi01に入るクローンを押してアドレスを取得

③xamppのhtdocs内にフォルダを作成

④クローンする (URLを先ほど取得したアドレスに変更する)

⑤config.inc.phpを編集 (DBの設定と $site_URLを現在の環境に合わせる) すでに動いているconfig.inc.phpを上書きしてから上記2点の修正でだいたい動く $application_unique_keyも一応注意

<ここからややこしいので終わったら声かけてください> ブランチの切り方 サイトからブランチを作成する 対象を変更 ローカルにフォルダを作成 clone→サイトのブランチのチェックアウトコマンドを 対象フォルダ右クリックGit Bash Here から実行

広告を非表示にする

f-Revo カスタマイズ基礎

vTigerベーシックカスタマイズ

vTigerアーキテクチャ(構造)

モジュール構造

たとえばこんなURLだったとします。

http://***/index.php?module=Contacts&view=Datail&record=xxx

index.phpのあとに?module=Contacts&view=Datail&record=xxx が続いていますね。 これを分解してみていきます。

modlue=Contactsとあります。
これは顧客担当者のモジュールを示しています。

モジュール一覧(abc順)
モジュール 説明
Accounts 顧客企業
Assets 資産
Calender 予定表
Campaigns マーケティング
Contacts 顧客担当者
Dailyports 日報
Documents ドキュメント
EmailTemplates メールテンプレート
Faq 回答事例
HelpDesk サポート依頼
Invoice 請求書
Leads 見込み客
MailManager メールマネージャー
Potencials 案件
PriceBooks 価格台帳
Products 製品
Project プロジェクト
PurchOrder 購買発注
Quorts 見積もり
Reports
SaledOrder 販売受注
ServiceContracts サービス契約
Services サービス
SMSNotfier SMS通知
Vendors 納入業者
  • ホームindex
    http://***/index.php?moduke=Home&view=DashBoard

  • 顧客企業 DetailView

  • 案件 EditView
  • 顧客担当者 ListView

Vtlibについて

VtlibはvtigerCRMの新しいモジュールの開発を容易にするためのライブラリです。

新規モジュール作成をやりながらVtlibの機能を追って行きましょう。

モジュール インスタンス作成/データベーステーブル作成/メニューに追加

|php|  $module_name = ‘Sample’; $table_name = ‘vtiger_sample’; $main_name = “titlename”; $main_id = “sampleid”; //module作成 $module = new Vtiger_Module(); $module->name = $module_name; $module->save(); $module->initTables($table_name, $main_id); $menu = Vtiger_Menu::getInstance(‘Tools’); $menu->addModule($module);

||<

テーブル名 命名規則 説明
Basetable vtiger_ 新しいモジュールのデフォルトのフィールドが含まれる (例:vtiger_sample)
CustomTable vtiger_cf モジュールのカスタムフィールドが含まれる (例:vtiger_samplecf)

*1

ブロック追加

以下の例はさっき作ったモジュールに新しいブロックを作成 する方法について説明する

|php| // block作成 $blockInstance = new Vtiger_Block(); $blockInstance->label = ‘LBL_SAMPLE_INFORMATION’; $module-> addBlock($blockInstance);

ここでいう'LBL_SAMPLE_INFORMATION'がブロックラベル名

フィールド追加

以下の例はさっき作成したブロックに新しいフィールドを作成する方法について 説明しています。

|php| // field作成 $field = new Vtiger_Field(); $field->name = ‘TitleName’; $field->table = ‘vtiger_sample’; $field->column = ‘titlename’; $field->columntype = ‘VARCHAR(255)’; $field->uitype = 1; $field->typeofdata = ‘V~M’; $blockInstance->addField($field); $filter_field1 = $field;

ここでよく使うのが'$fieldInstance -> ***(この部分にオプション名) = (ここに値やら関数やら配列)'を記入

fieldInstanceのオプション名一覧
オプション 説明
table テーブル名
colmn カラム名
colmntype カラムの種類・長さ
uitype UIのタイプ
name ラベル名
typeofdata データのタイプ
presence 0-常に表示(レイアウトエディタで変更不可) 1-非表示 2-表示(レイアウトエディタで変更可)
quickcreate 0-クイック作成フォームで入力可 1-クイック作成フォームで入力不可
masseditable 0-一括編集禁止(レイアウトエディタで変更不可) 1-一括編集許可 2-一括編集禁止(レイアウトエディタで変更可)

フィールド追加時 必須手順

新規作成するモジュールのうち1項目に対して書き設定を行う。 本設定は顧客企業であれば顧客企業名、案件であれば案件名といった各画面でのリンクとなる項目。」

|php| / * モジュール内でキーとなるカラム1つに対して実行 * 複数回は実施しないこと / $module->setEntityIdentifier($field);

uitypeの振り番号一覧
uitype 説明
1 テキスト
2 テキスト(必須)
3 [私の設定]の[アクセスキー]の自動生成
4 [請求書番号]のような自動生成される(必須)
5 日付
6 日付と時間
7 数値
8 JSON配列。カンマで区切られた文字列になる
9 パーセンテージ
10 関連(複数のモジュールから選択できる)
11 テキスト(妥当性チェックなし)
13 電子メールアドレス(チェックあり)
15 選択型コンボボックス(役割に基づいた定義リスト)
16 選択型コンボボックス(役割に基づかない定義リスト)
17 ウェブサイト
19 テキストエリア(2列分)
20 テキストエリア(2列分)※必須
21 テキストエリア
26 ドキュメントフォルダ
30 [予定表]-[アラーム]のドロップダウン
33 複数選択コンボボックス
53 ドロップダウン+ラジオボタン
56 チェックボックス
71 通貨

フィルタ作成

*1:f-Revo公式マニュアルより

広告を非表示にする

GIT環境構築

Gitをインストール

https://download.tortoisegit.org/tgit/2.4.0.0/:Git

  • ここで32bit or 64bitを選んでください。 私の職場環境が32bitなので今回は32bitを選んでいます。

f:id:machikoikenouchi:20170412175639j:plain

f:id:machikoikenouchi:20170412175641j:plain

  • 規約(私は飛ばしました)->Next

f:id:machikoikenouchi:20170412175644j:plain

  • 自分の環境のどこにインストールするかを選んでください。->Next

f:id:machikoikenouchi:20170412175647j:plain

  • 「インストール」をクリックしてインストールを開始します。 インストール設定を確認または変更する場合は、「戻る」をクリックします。 Chancelをクリックしてウィザードを終了します。 -> Next

f:id:machikoikenouchi:20170412175652j:plain

  • [Finish]ボタンをクリックしてセットアップウィザードを終了します。 ちなみに[donate]ボタンを押すと寄付できます。 -> Finish

f:id:machikoikenouchi:20170412175650j:plain

Gitを設定しよう

f:id:machikoikenouchi:20170412175654j:plain

  • このような画面が出てきます。 Languages:のところはEnglishにして(日本語化もできますが  それはググってください) -> Next

f:id:machikoikenouchi:20170412175700j:plain

  • TortoiseGitはシェルエクステンションとして設計されています。 したがって、TortoiseGitとの主なやりとりは、Windowsシェルのコンテキストメニュー、たとえばWindowsエクスプローラを使用します。

  • これは基本的な設定を行うのに役立つ最初のスタートウィザードです。 TortoiseGitは高度な設定をカスタマイズすることができます。 それで、あなたはより良い設定を見つけることをお勧めします。

  • 設定ダイアログには、Windowsエクスプローラのスタートメニューまたはコンテキストメニューを使用してアクセスできます。

  • TrotoiseGit =>設定

  • 一般的なヒントについては、マニュアルを参照してください。 例えば、ほとんどのダイアログでは、リフレッシュのためのF5や検索のためのCTRL + Fなどのいくつかの共有ショートカットがあります。強力なコンテキストメニューがあります。

  • TrotoiseGitの使い方をお楽しみください! 質問や問題が発生した場合は、 マニュアルを参照するか、 https://tortoisegit.org/support/にアクセスしてください。 ->Next

f:id:machikoikenouchi:20170412175702j:plain

aa

f:id:machikoikenouchi:20170412175705j:plain

aa

f:id:machikoikenouchi:20170412175707j:plain

aa

f:id:machikoikenouchi:20170412175709j:plain

aa

広告を非表示にする

Laravel

h2. そもそもフレームワークとは

基本ほとんどゼロの状態からプログラムを組んで行くとなると、人によっては モジュール化(関数化)したり、オブジェクト指向(クラス化)したり、長く記述したりと書き方もばらばらになってしまいます。 チームで仕事をしていく上で、規則性のあるコーディングは大事です。 PHPはコードに書けば動いてしまうので、人によって作りやすい方法で規則を無視して作ってしまうこともできます。 そこで、フレームワークの出番です。 フレームワークには最初から枠組み・関数・クラスなど、必要な処理が大体は用意されています。 その用意されているものを使うだけで実装できるので、使い方だけ覚えれば誰でも作れるのが良さです。 ※ただし、関数・クラス・メソッドの名前など、フレームワークの規則に従わなければ動きません。  そのため、規則性のあるコーディングができる特徴があります。

h2. Xampp-htdocsの直下にリポジトリを準備

注意!XamppとTorotiseSVNがインストールされていること前提で書いています

!http://i.imgur.com/MsR6Fao.png!

[xampp]-[htdocs]-[ここにフォルダを作成] ここで右クリックしてSVNCheckOutをクリックします。

!http://i.imgur.com/M9QR0YZ.png!

一番上のフォームに、レポジトリのURLを 入れて、OKボタンをクリック

!http://i.imgur.com/wxBYm1q.png!

このようにTorotoiseSVNのウインドウが立ち上がります。 バーッとダウンロードしていきます。

!http://i.imgur.com/batUIbi.png!

このようにダウンロードが終了しました

h2. .env.xampleの内容を書き換えて、envファイルを作る

!http://i.imgur.com/b8w3cJN.png!

まずはこのファイル「.env.xample」を開きます。


APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

PUSHER_APP_ID=
PUSHER_KEY=
PUSHER_SECRET=


テキストファイルで開くとこのようになります

!http://i.imgur.com/m2hsSno.png!

この部分を書きかえます。

http://redmine.snapshot.co.jp/projects/br-racer2017/wiki

開発環境DB接続情報 host:192.168.1.101 ユーザid:br_fes パスワード:br_fes ポート:3306

h2. Larabelについての知見資料

h2. インターンの杉嵜様に作成いただいたハマりポイント

h3. POSTリクエスト時のTokenMismatchException

TokenMismatchException in VerifyCsrfToken.php (GETでは出ないがPOSTでは出てくる)

原因: Laravelにデフォルトで組み込まれているCSRF対策によるもの。 (他サイト経由等の不正なリクエストを拒否するもの)

解決策: 自サイト内からのPOSTにはトークンを埋め込む

formタグ生成と共に埋め込まれる例

{!!Form::open('url'=>'POST先のURL')!!}
{!!Form::close()!!} 

既にあるformタグに追加で埋め込む例


    
  
広告を非表示にする

WordPress解説その①

<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */

/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define('WP_USE_THEMES', true);

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );

>
広告を非表示にする